blob: b82aa5b2ec58fccc259bf3fb984f15deed57788d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- ==================================================================== -->
<!-- Copyright (c) 2000-2003 BEA Systems, Inc. -->
<!-- All rights reserved -->
<!-- THIS IS UNPUBLISHED PROPRIETARY -->
<!-- SOURCE CODE OF BEA Systems, Inc. -->
<!-- The copyright notice above does not -->
<!-- evidence any actual or intended -->
<!-- publication of such source code. -->
<!-- ==================================================================== -->
<!-- $Id: TPM.xsd,v 1.1 2003/09/15 18:20:40 ericvas Exp $ -->
<xs:schema
targetNamespace="http://www.bea.com/2003/03/wli/tpm"
xmlns="http://www.bea.com/2003/03/wli/tpm"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
elementFormDefault="qualified">
<xs:import
namespace="http://www.w3.org/2000/09/xmldsig#"
schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
<xs:element name="trading-partner-management">
<xs:annotation>
<xs:documentation>This is the root element in the TPM repository.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="trading-partner" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="service" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="message-tracking-default" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="NONE"/>
<xs:enumeration value="METADATA"/>
<xs:enumeration value="ALL"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="secure-audit-logging" type="xs:boolean" use="optional"/>
<xs:attribute name="test-mode" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="trading-partner">
<xs:complexType>
<xs:sequence>
<xs:element ref="address" minOccurs="0"/>
<xs:element ref="extended-property-set" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="client-certificate" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="server-certificate" minOccurs="0"/>
<xs:element ref="encryption-certificate" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="signature-certificate" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="ebxml-binding" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="rosettanet-binding" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="web-service-binding" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
<xs:attribute name="notes" type="xs:string" use="optional"/>
<xs:attribute name="type" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="LOCAL"/>
<xs:enumeration value="REMOTE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
<xs:attribute name="business-id-type" type="xs:string" use="optional"/>
<xs:attribute name="business-id" type="xs:string" use="optional"/>
<xs:attribute name="email" type="xs:string" use="optional"/>
<xs:attribute name="phone" type="xs:string" use="optional"/>
<xs:attribute name="fax" type="xs:string" use="optional"/>
<xs:attribute name="username" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="address" type="xs:string"/>
<xs:element name="extended-property-set">
<xs:complexType>
<xs:sequence>
<xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
<xs:attribute name="notes" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="xml-element">
<xs:complexType>
<xs:sequence>
<xs:element ref="xml-attribute" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="xml-element" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="xml-attribute">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="value" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="client-certificate">
<xs:complexType>
<xs:sequence>
<xs:element ref="ds:KeyInfo" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="server-certificate">
<xs:complexType>
<xs:sequence>
<xs:element ref="ds:KeyInfo" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="encryption-certificate">
<xs:complexType>
<xs:sequence>
<xs:element ref="ds:KeyInfo" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="signature-certificate">
<xs:complexType>
<xs:sequence>
<xs:element ref="ds:KeyInfo" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="ebxml-binding">
<xs:complexType>
<xs:sequence>
<xs:element ref="signature-transforms" minOccurs="0"/>
<xs:element ref="transport" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="business-protocol-name" type="xs:string" use="optional"/>
<xs:attribute name="business-protocol-version" type="xs:string" use="optional"/>
<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
<xs:attribute name="is-signature-required" type="xs:boolean" use="optional"/>
<xs:attribute name="is-receipt-signature-required" type="xs:boolean" use="optional"/>
<xs:attribute name="signature-certificate-name" type="reference" use="optional"/>
<xs:attribute name="delivery-semantics" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="BestEffort"/>
<xs:enumeration value="BESTEFFORT"/>
<xs:enumeration value="OnceAndOnlyOnce"/>
<xs:enumeration value="ONCEANDONLYONCE"/>
<xs:enumeration value="AtLeastOnce"/>
<xs:enumeration value="ATLEASTONCE"/>
<xs:enumeration value="AtMostOnce"/>
<xs:enumeration value="ATMOSTONCE"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="retries" type="xs:nonNegativeInteger" use="optional"/>
<xs:attribute name="retry-interval" type="xs:nonNegativeInteger" use="optional"/>
<xs:attribute name="persist-duration" type="xs:nonNegativeInteger" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="signature-transforms">
<xs:complexType>
<xs:sequence>
<xs:element ref="xpath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="xpath"/>
<xs:element name="rosettanet-binding">
<xs:complexType>
<xs:sequence>
<xs:element ref="failure-report-administrator" minOccurs="0"/>
<xs:element ref="failure-notifier" minOccurs="0"/>
<xs:element ref="transport" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="business-protocol-name" type="xs:string" use="optional"/>
<xs:attribute name="business-protocol-version" type="xs:string" use="optional"/>
<xs:attribute name="is-default" type="xs:boolean" use="optional"/>
<xs:attribute name="encryption-certificate-name" type="reference" use="optional"/>
<xs:attribute name="cipher-algorithm" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="NONE"/>
<xs:enumeration value="RC5"/>
<xs:enumeration value="DES"/>
<xs:enumeration value="TRIPLE_DES"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="encryption-level" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="NONE"/>
<xs:enumeration value="PAYLOAD"/>
<xs:enumeration value="ENTIRE_PAYLOAD"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="is-signature-required" type="xs:boolean" use="optional"/>
<xs:attribute name="is-receipt-signature-required" type="xs:boolean" use="optional"/>
<xs:attribute name="signature-certificate-name" type="reference" use="optional"/>
<xs:attribute name="retries" type="xs:nonNegativeInteger" use="optional"/>
<xs:attribute name="retry-interval" type="xs:nonNegativeInteger" use="optional"/>
<xs:attribute name="process-timeout" type="xs:nonNegativeInteger" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="failure-report-administrator">
<xs:complexType>
<xs:attribute name="trading-partner-name" type="reference" use="required"/>
<xs:attribute name="binding-name" type="reference" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="failure-notifier">
<xs:complexType>
<xs:attribute name="trading-partner-name" type="reference" use="required"/>
<xs:attribute name="binding-name" type="reference" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="web-service-binding">
<xs:complexType>
<xs:sequence>
<xs:element ref="transport" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="transport">
<xs:complexType>
<xs:sequence>
<xs:element ref="authentication" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="protocol" use="required">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="http"/>
<xs:enumeration value="HTTP"/>
<xs:enumeration value="https"/>
<xs:enumeration value="HTTPS"/>
<xs:enumeration value="jms"/>
<xs:enumeration value="JMS"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="protocol-version" type="xs:string" use="optional"/>
<xs:attribute name="endpoint" type="xs:anyURI" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="authentication">
<xs:complexType>
<xs:attribute name="client-partner-name" type="reference" use="optional"/>
<xs:attribute name="client-authentication" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="NONE"/>
<xs:enumeration value="BASIC"/>
<xs:enumeration value="SSL_CERT"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="username" type="xs:string" use="optional"/>
<xs:attribute name="password" type="xs:hexBinary" use="optional"/>
<xs:attribute name="client-certificate-name" type="reference" use="optional"/>
<xs:attribute name="server-authentication" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="NONE"/>
<xs:enumeration value="SSL_CERT_MUTUAL"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="server-certificate-name" type="reference" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="service">
<xs:complexType>
<xs:sequence>
<xs:element ref="service-profile" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="rosettanet-service-defaults" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="version" type="xs:string" use="optional"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
<xs:attribute name="notes" type="xs:string" use="optional"/>
<xs:attribute name="service-type" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="WEBSERVICE"/>
<xs:enumeration value="PROCESS"/>
<xs:enumeration value="SERVICECONTROL"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="business-protocol" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="WEBSERVICE"/>
<xs:enumeration value="EBXML"/>
<xs:enumeration value="ROSETTANET"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="service-profile">
<xs:complexType>
<xs:attribute name="local-trading-partner" type="reference" use="optional"/>
<xs:attribute name="local-binding" type="reference" use="optional"/>
<xs:attribute name="external-trading-partner" type="reference" use="required"/>
<xs:attribute name="external-binding" type="reference" use="optional"/>
<xs:attribute name="status" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="ENABLED"/>
<xs:enumeration value="DISABLED"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="message-tracking" use="optional">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="NONE"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="METADATA"/>
<xs:enumeration value="ALL"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="rosettanet-service-defaults">
<xs:complexType>
<xs:attribute name="service-content-schema" type="xs:string" use="optional"/>
<xs:attribute name="use-dtd-validation" type="xs:boolean" use="optional"/>
<xs:attribute name="validate-service-content" type="xs:boolean" use="optional"/>
<xs:attribute name="validate-service-header" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="reference">
<xs:annotation>
<xs:documentation>Reference to another element in the TPM repository.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>
</xs:schema>