Generating the XML Schema

This section discusses how to generate the XML Schema.

Page Name

Definition Name

Usage

Generate XML Schema Page

EO_GEN_XML_DATA

Generate DTDs, XML schemas, and BizTalk definitions.

Use the Generate XML Schema page (EO_GEN_XML_DATA) to generate DTDs, XML schemas, and BizTalk definitions.

Image: Generate XML Schema page

This example illustrates the fields and controls on the Generate XML Schema page. You can find definitions for the fields and controls later on this page.

Generate XML Schema page

Field or Control

Definition

App Msg Selection Criteria (application message selection criteria)

Select application selection message criteria. Values are All Msg (all messages), Channel, Owner ID and Single Msg (single message). Depending on the selection criteria, you can enter the selection value (if already known) or search for the value.

Generate DTD Spec

Select for DTD spec output format.

Generate XML Schema

Select for XML schema output format.

Generate Biztalk Definition

Select for BizTalk definition output format.

Generate

Click to generate the selected output formats.

The utility queries the relevant PeopleTools tables to generate the selected types of XML schemas and writes the results to the server’s file directory or your system’s Temp directory, depending on the client that you use.

To produce an XML schema, DTD, or BizTalk definition:

  1. Define the selection criteria for application messages, component interfaces, and business interlinks.

  2. Select XML schemas, DTDs, or BizTalk definitions for application message, component interface, and business interlink objects.

    PeopleCode sends a query to the PeopleTools tables to create the selected types of XML definitions.

    The XML Schema utility then writes the definitions to the file directory as specified by the PS_SERVDIR environment variable when you are using PeopleSoft Internet Architecture or the %TEMP directory of your system when you are using the Microsoft Windows client.

The following code shows three samples of output for the same application message (in this case, MARKET_RATE_TYPE_FULLSYNC) in BizTalk, DTD, and XML schema formats.

Example: BizTalk

The following code shows MARKET_RATE_TYPE_FULLSYNC in BizTalk format:

<BizTalk xmlns="urn:schemas-biztalk-org:BizTalk/biztalk-0.81.xml">
<Body>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
<xsd:element name="MARKET_RATE_TYPE_FULLSYNC" 
  type="MARKET_RATE_TYPE_FULLSYNCType"/>

<xsd:complexType name="MARKET_RATE_TYPE_FULLSYNCType">
<xsd:sequence>
   <xsd:element name="FieldTypes" type="FieldTypesType"/>
   <xsd:element name="MsgData" type="MsgDataType"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="FieldTypesType">
<xsd:sequence>
   <xsd:element name="RT_TYPE_TBL" type="FieldTypesRT_TYPE_TBLType"/>
   <xsd:element name="PSCAMA" type="PSCAMA"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="FieldTypesRT_TYPE_TBLType">
<xsd:sequence>
   <xsd:element name="RT_TYPE" type="FieldTypesFieldType"/>
   <xsd:element name="DESCR" type="FieldTypesFieldType"/>
   <xsd:element name="DESCRSHORT" type="FieldTypesFieldType"/>
</xsd:sequence>
   <xsd:attribute name="class" type="xsd:string" use="required" value="R"/>
</xsd:complexType>

<xsd:complexType name="PSCAMA">
   <xsd:sequence>
   <xsd:element name="LANGUAGE_CD" type="LANGUAGE_CDType" minOccurs="0" 
     maxOccurs "1"/>
   <xsd:element name="AUDIT_ACTN" type="AUDIT_ACTNType"/>
   <xsd:element name="BASE_LANGUAGE_CD" type="BASE_LANGUAGE_CDType" 
     minOccurs="0"maxOccurs="1"/>
   <xsd:element name="MSG_SEQ_FLG" type="MSG_SEQ_FLGType" minOccurs="0" 
     maxOccurs= "1"/>
   <xsd:element name="PROCESS_INSTANCE" type="PROCESS_INSTANCEType" 
     minOccurs="0" maxOccurs="1"/>
   <xsd:element name="PUBLISH_RULE_ID" type="PUBLISH_RULE_IDType" 
     minOccurs="0" maxOccurs="1"/>
   <xsd:element name="MSGNODENAME" type="MSGNODENAMEType" minOccurs="0" 
     maxOccurs= "1"/>
   </xsd:sequence>
   <xsd:attribute name="class" type="xsd:string" use="required" value="R"/>
</xsd:complexType>

<xsd:complexType name="LANGUAGE_CDType" >
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="AUDIT_ACTNType" >
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="BASE_LANGUAGE_CDType"  >
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="MSG_SEQ_FLGType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="PROCESS_INSTANCEType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="PUBLISH_RULE_IDType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="MSGNODENAMEType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>


<xsd:complexType name="MsgDataType">
      <xsd:sequence>
   <xsd:element name="Transaction">
      <xsd:complexType>
      <xsd:sequence>
         <xsd:element name="RT_TYPE_TBL" type="MsgDataRT_TYPE_TBLType"/>
         <xsd:element name="PSCAMA" type="PSCAMA"/>
      </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
      </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="MsgDataRT_TYPE_TBLType">
<xsd:sequence>
   <xsd:element name="RT_TYPE">
<xsd:simpleType>
<xsd:restriction base="xsd:string" >
   <xsd:pattern value="[A-Z]{1-5}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
   <xsd:element name="DESCR">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
   <xsd:pattern value=".{1-30}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
   <xsd:element name="DESCRSHORT">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
   <xsd:pattern value=".{1-10}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
   <xsd:attribute name="class" type="xsd:string" use="required" value="R"/>
</xsd:complexType>

<xsd:complexType name="FieldTypesFieldType">
   <xsd:attribute name="type" type="fieldtypes"/>
</xsd:complexType>

<xsd:simpleType name="fieldtypes">
<xsd:restriction base="xsd:string">
   <xsd:enumeration value="CHAR"/>
   <xsd:enumeration value="NUMBER"/>
   <xsd:enumeration value="DATE"/>
   <xsd:enumeration value="DATETIME"/>
   <xsd:enumeration value="TIME"/>
</xsd:restriction>
</xsd:simpleType>

</xsd:schema>
</Body>
</BizTalk>

Example: DTD

The following code shows MARKET_RATE_TYPE_FULLSYNC in DTD format:

<!ELEMENT MARKET_RATE_TYPE_FULLSYNC (FieldTypes, MsgData)>

   <!ENTITY % recordtypes "class (R | SR) #REQUIRED" >
   <!ENTITY % fieldtypes "type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED" >

<!ELEMENT FieldTypes (RT_TYPE_TBL, PSCAMA)>

<!ELEMENT PSCAMA (LANGUAGE_CD?, AUDIT_ACTN, BASE_LANGUAGE_CD?, MSG_SEQ_FLG?,

 PROCESS_INSTANCE?, PUBLISH_RULE_ID?, MSGNODENAME?)>
   <!ATTLIST PSCAMA class (R | SR) #REQUIRED>
   <!ELEMENT LANGUAGE_CD (#PCDATA)>
      <!ATTLIST LANGUAGE_CD type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>
   <!ELEMENT AUDIT_ACTN (#PCDATA)>
      <!ATTLIST AUDIT_ACTN type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>
   <!ELEMENT BASE_LANGUAGE_CD (#PCDATA)>
      <!ATTLIST BASE_LANGUAGE_CD type (CHAR | NUMBER | DATE | TIME | 
        DATETIME) #IMPLIED>
   <!ELEMENT MSG_SEQ_FLG (#PCDATA)>
      <!ATTLIST MSG_SEQ_FLG type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>
   <!ELEMENT PROCESS_INSTANCE (#PCDATA)>
      <!ATTLIST PROCESS_INSTANCE type (CHAR | NUMBER | DATE | TIME | 
        DATETIME) #IMPLIED>
   <!ELEMENT PUBLISH_RULE_ID (#PCDATA)>
      <!ATTLIST PUBLISH_RULE_ID type (CHAR | NUMBER | DATE | TIME | 
        DATETIME) #IMPLIED>
   <!ELEMENT MSGNODENAME (#PCDATA)>
      <!ATTLIST MSGNODENAME type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>
<!ELEMENT RT_TYPE_TBL (RT_TYPE, DESCR, DESCRSHORT)>
   <!ATTLIST RT_TYPE_TBL class (R | SR) #REQUIRED>

<!ELEMENT RT_TYPE (#PCDATA)>
      <!ATTLIST RT_TYPE type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>
   <!ELEMENT DESCR (#PCDATA)>
      <!ATTLIST DESCR type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>
   <!ELEMENT DESCRSHORT (#PCDATA)>
      <!ATTLIST DESCRSHORT type (CHAR | NUMBER | DATE | TIME | DATETIME) #IMPLIED>

<!ELEMENT MsgData (Transaction)>
<!ELEMENT Transaction (RT_TYPE_TBL, PSCAMA)>

Example: XML Schema

The following code shows MARKET_RATE_TYPE_FULLSYNC in XML schema format:

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">

<xsd:element name="MARKET_RATE_TYPE_FULLSYNC" 
  type="MARKET_RATE_TYPE_FULLSYNCType"/>

<xsd:complexType name="MARKET_RATE_TYPE_FULLSYNCType">
<xsd:sequence>
   <xsd:element name="FieldTypes" type="FieldTypesType"/>
   <xsd:element name="MsgData" type="MsgDataType"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="FieldTypesType">
<xsd:sequence>
   <xsd:element name="RT_TYPE_TBL" type="FieldTypesRT_TYPE_TBLType"/>
   <xsd:element name="PSCAMA" type="PSCAMA"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="FieldTypesRT_TYPE_TBLType">
<xsd:sequence>
   <xsd:element name="RT_TYPE" type="FieldTypesFieldType"/>
   <xsd:element name="DESCR" type="FieldTypesFieldType"/>
   <xsd:element name="DESCRSHORT" type="FieldTypesFieldType"/>
</xsd:sequence>
   <xsd:attribute name="class" type="xsd:string" use="required" value="R"/>
</xsd:complexType>

<xsd:complexType name="PSCAMA">
   <xsd:sequence>
   <xsd:element name="LANGUAGE_CD" type="LANGUAGE_CDType" minOccurs="0" 
     maxOccurs= "1"/>
   <xsd:element name="AUDIT_ACTN" type="AUDIT_ACTNType"/>
   <xsd:element name="BASE_LANGUAGE_CD" type="BASE_LANGUAGE_CDType" 
     minOccurs="0" maxOccurs="1"/>
   <xsd:element name="MSG_SEQ_FLG" type="MSG_SEQ_FLGType" minOccurs="0" 
     maxOccurs= "1"/>
   <xsd:element name="PROCESS_INSTANCE" type="PROCESS_INSTANCEType" 
     minOccurs="0" maxOccurs="1"/>
   <xsd:element name="PUBLISH_RULE_ID" type="PUBLISH_RULE_IDType" 
     minOccurs="0" maxOccurs="1"/>
   <xsd:element name="MSGNODENAME" type="MSGNODENAMEType" minOccurs="0" 
     maxOccurs= "1"/>
   </xsd:sequence>
   <xsd:attribute name="class" type="xsd:string" use="required" value="R"/>
</xsd:complexType>

<xsd:complexType name="LANGUAGE_CDType" >
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="AUDIT_ACTNType" >
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="BASE_LANGUAGE_CDType"  >
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="MSG_SEQ_FLGType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="PROCESS_INSTANCEType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="PUBLISH_RULE_IDType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>

<xsd:complexType name="MSGNODENAMEType">
   <xsd:attribute name="type" type="fieldtypes" use="optional"/>
</xsd:complexType>


<xsd:complexType name="MsgDataType">
      <xsd:sequence>
   <xsd:element name="Transaction">
      <xsd:complexType>
      <xsd:sequence>
         <xsd:element name="RT_TYPE_TBL" type="MsgDataRT_TYPE_TBLType"/>
         <xsd:element name="PSCAMA" type="PSCAMA"/>
      </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
      </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="MsgDataRT_TYPE_TBLType">
<xsd:sequence>
   <xsd:element name="RT_TYPE">
<xsd:simpleType>
<xsd:restriction base="xsd:string" >
   <xsd:pattern value="[A-Z]{1-5}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
   <xsd:element name="DESCR">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
   <xsd:pattern value=".{1-30}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
   <xsd:element name="DESCRSHORT">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
   <xsd:pattern value=".{1-10}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
   <xsd:attribute name="class" type="xsd:string" use="required" value="R"/>
</xsd:complexType>

<xsd:complexType name="FieldTypesFieldType">
   <xsd:attribute name="type" type="fieldtypes"/>
</xsd:complexType>

<xsd:simpleType name="fieldtypes">
<xsd:restriction base="xsd:string">
   <xsd:enumeration value="CHAR"/>
   <xsd:enumeration value="NUMBER"/>
   <xsd:enumeration value="DATE"/>
   <xsd:enumeration value="DATETIME"/>
   <xsd:enumeration value="TIME"/>
</xsd:restriction>
</xsd:simpleType>

</xsd:schema>