Using the XML Schema Utility

This chapter provides an overview of the XML Schema utility and discusses using the XML Schema utility.

Note. The XML Schema Utility has been superseded by PeopleTools Message Schema Builder that is a part of PeopleSoft Integration Broker.

Click to jump to parent topicUnderstanding the XML Schema Utility

PeopleSoft Open Integration Framework enables near real-time messaging and transactions by using a format that is based on XML to convey information between diverse applications in a standard way. To take advantage of this standardization, you must obtain clear XML definitions (schemas) for each application message, component interface, or business interlink.

The XML Schema utility provides the following features:

Click to jump to parent topicGenerating the XML Schema

This section discusses how to generate the XML Schema.

Click to jump to top of pageClick to jump to parent topicPage Used to Generate XML Schema

Page Name

Object Name

Navigation

Usage

XML Schema

EO_GEN_XML_DATA

Enterprise Components, Integration Definitions, Review XML Schema

Generate DTDs, XML schemas, and BizTalk definitions.

Click to jump to top of pageClick to jump to parent topicGenerating the XML Schema

Access the Generate XML Schema page.

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 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 using PeopleSoft Internet Architecture or the %TEMP directory of your system when using the Microsoft Windows client.

Click to jump to top of pageClick to jump to parent topicInterpreting Sample Output

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>