サービス・データ・オブジェクトのXSD
各サービス・データ・オブジェクトに、オブジェクトとその属性を記述するXSDが1つあります。 たとえば、営業リード・オブジェクトはMklLead.xsd
で定義され、営業リード製品はMklProdAssoc.xsd
で定義され、営業リード担当者はMklLeadTcMembers.xsd
で定義されます。 サービス・データ・オブジェクトは、対応するXSDの修飾名であるQNameによって一意に定義されます。
サービス・データ・オブジェクトに対応するXSDのスキーマの基本構造は、次のとおりです。
-
名前空間の宣言
-
そのスキーマ定義が依存するXSDの仕様のインポートおよび挿入
-
表示名と説明に加え、サービス・データ・オブジェクト属性の名前と説明を含む、スキーマの参照情報
-
派生型の定義。 たとえば、サービスの実装でサービス警告を有効にする場合は、ラッパー型を定義する必要があります。
-
複合型であるサービス・データ・オブジェクトの定義。 サービス・データ・オブジェクト属性は、複合型の要素として定義されます。
-
型が複合型に設定されている要素の定義
営業リード・オブジェクトに対応するMklLead.xsd
からの抜粋を次に示します。
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://xmlns.oracle.com/oracle/apps/marketing/leadMgmt/leads/leadService/"
sdoJava:package="oracle.apps.marketing.leadMgmt.leads.leadService"
xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/"
xmlns:ns1="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/"
xmlns:ns2="http://xmlns.oracle.com/apps/crmCommon/notes/noteService"
xmlns:sdo="commonj.sdo" xmlns:sdoJava="commonj.sdo/java"
xmlns="http://xmlns.oracle.com/apps/sales/marketing/leadMgmt/leads/leadService/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
<xsd:annotation>
<xsd:documentation xmlns:oer="http://xmlns.oracle.com/oer">
<name>SalesLead</name>
<description>A lead is a transaction record created when
a party has expressed an interest in a product or service.
It represents a selling opportunity.
</description>
<oer:attributes>
<oer:attribute description="Lead Name used for identifying the lead." name="Name"/>
<oer:attribute description="User friendly unique identifier for a lead."
name="LeadNumber""/>
<oer:attribute description="Name associated with the owner of this sales lead."
name="OwnerPartyName"/>
<oer:attribute description="Pre-defined code used to indicate the status of a lead."
name="StatusCode"/>
<oer:attribute description="Rank associated with this sales lead."
name="Rank"/>
...
</oer:attributes>
</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="http://xmlns.oracle.com/adf/svc/types/"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/META-INF/wsdl/BC4JService.xsd"/>
<xsd:import namespace="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/oracle/apps/marketing/leadMgmt/leads/leadService/MklLeadResources.xsd"/>
<xsd:import namespace="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/oracle/apps/marketing/leadMgmt/leads/leadService/MklLeadTcMembers.xsd"/>
<xsd:import namespace="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/oracle/apps/marketing/leadMgmt/leads/leadService/MklProdAssoc.xsd"/>
<xsd:import namespace="http://xmlns.oracle.com/apps/crmCommon/notes/noteService"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/oracle/apps/crmCommon/notes/noteService/Note.xsd"/>
<xsd:import namespace="commonj.sdo/java"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/xml/sdoJava.xsd"/>
<xsd:import namespace="commonj.sdo/xml"
schemaLocation="https://crm-your-cloud-hostname:port/mklLeads/
SalesLeadService?XSD=/xml/sdoXML.xsd"/>
<xsd:complexType name="MklLead">
<xsd:annotation>
<xsd:appinfo source="http://xmlns.oracle.com/adf/svc/metadata/">
<key xmlns="http://xmlns.oracle.com/adf/svc/metadata/">
<attribute>LeadId</attribute>
</key>
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element minOccurs="0" name="Name" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="LeadNumber" type="xsd:string"/>
<xsd:element minOccurs="0" name="OwnerPartyName" type="xsd:string"/>
<xsd:element minOccurs="0" name="StatusCode" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="Rank" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="SourceCode" nillable="true" type="xsd:string"/>
...
</xsd:sequence>
</xsd:complexType>
<xsd:element name="mklLead" type="MlkLead"/>
</xsd:schema>