OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-core message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Party XML Schema Defintions


The attached files show:

A fuller definition for Party, including more datatyping and general purpose
type definitions (which proved useful in a practical application of the
types) in the form of an XML schema (party.xsd) and a diagram illustrating
its structure (party.png)

An application of the party definitions as part of an order definition where
the abstract names have been replaced by concrete names (Buyer, Seller, etc)
and a set of US specific applications of abstract types (City, State, ZIP,
etc) in the form of a partial XML Schema (OrderTest.xsd) and a diagram
(Order.png)

An example partial XML order (only those parts relating to parties) coded
using the sample DTD.

Hope this helps to show why abstract elements help.

Martin
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.ebxml.org/CoreComponents" xmlns="http://www.ebxml.org/CoreComponents" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
  <xsd:complexType name="PartyType">
    <xsd:annotation>
      <xsd:documentation>Party assigned role in business process</xsd:documentation>
    </xsd:annotation>
    <xsd:all>
      <xsd:element name="Identity" type="IdentityType">
        <xsd:annotation>
          <xsd:documentation>Means of identifying party</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="Reference" type="ReferenceType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Reference to external documentation regarding party</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="Address" type="AddressType" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Address at which party can be contacted</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="Location" type="LocationType" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Identifier used to locate party</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="CommunicationPoint" type="CommunicationPointType" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Means by which party can be contacted</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:all>
    <xsd:attribute name="Type" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish type of party</xsd:documentation>
      </xsd:annotation>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="Organization"/>
          <xsd:enumeration value="Individual"/>
          <xsd:enumeration value="Group"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
    <xsd:attribute name="Role" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Role played by party          Not Role should be indicated by name assigned to element in application schema
                   It should only be recorded in this attribute if the same element derived from
                   AbstractParty occurs more than once in a single message.
</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="Gender" use="optional" value="NotApplicable">
      <xsd:annotation>
        <xsd:documentation>Gender of individual - otherwise not applicable</xsd:documentation>
      </xsd:annotation>
      <xsd:simpleType>
        <xsd:restriction base="xsd:token">
          <xsd:enumeration value="Male"/>
          <xsd:enumeration value="Female"/>
          <xsd:enumeration value="NotApplicable"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="IdentityType">
    <xsd:annotation>
      <xsd:documentation>Means of identifying party</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="AbstractName" minOccurs="0"/>
      <xsd:choice>
        <xsd:element ref="Identifier" minOccurs="0"/>
        <xsd:element ref="Code" minOccurs="0"/>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="NameType">
    <xsd:annotation>
      <xsd:documentation>Name used to identify person, organization, group, etc</xsd:documentation>
    </xsd:annotation>
  </xsd:complexType>
  <xsd:complexType name="IdentifierType">
    <xsd:annotation>
      <xsd:documentation>Unique identifier for component</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="SchemeName" type="xsd:string" use="optional"/>
    <xsd:attribute name="SchemeURL" type="xsd:uriReference" use="optional"/>
  </xsd:complexType>
  <xsd:complexType name="CodeType">
    <xsd:annotation>
      <xsd:documentation>Code from external enumerated list</xsd:documentation>
    </xsd:annotation>
    <xsd:attribute name="SchemeName" type="xsd:string" use="optional"/>
    <xsd:attribute name="SchemeURI" type="xsd:uriReference" use="required"/>
  </xsd:complexType>
  <xsd:complexType name="ReferenceType">
    <xsd:annotation>
      <xsd:documentation>Reference to external documentation</xsd:documentation>
    </xsd:annotation>
    <xsd:all>
      <xsd:element ref="Identifier">
        <xsd:annotation>
          <xsd:documentation>Identifier of referenced document</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="Description" type="FreeTextType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Free-text description of referenced document</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="Dated" type="DateTimeType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Date on which referenced parent was created</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:all>
    <xsd:attribute name="Type" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish type of referenced document
            Not Type should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractReference occurs more than once in a single messag.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="FreeTextType">
    <xsd:annotation>
      <xsd:documentation>Descriptive text</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="DateTimeType">
    <xsd:annotation>
      <xsd:documentation>Date and, optionally, time</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="Date">
        <xsd:annotation>
          <xsd:documentation>ISO 8601 Date</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="Time" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>ISO 8601 time</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="Purpose" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to purpose for which date/time has been defined
            Not Purpose should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractDateTime occurs more than once in a single messag.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="DateType">
    <xsd:annotation>
      <xsd:documentation>Date</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:date">
        <xsd:attribute name="Format" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="TimeType">
    <xsd:annotation>
      <xsd:documentation>Time</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:time">
        <xsd:attribute name="Format" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="AddressType">
    <xsd:annotation>
      <xsd:documentation>Address at which party can be contacted</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:choice>
        <xsd:element ref="BuildingName" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>Name by which building is identified</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="BuildingNumber" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>Number bywhich building is identified</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
      <xsd:element ref="StreetName" maxOccurs="3">
        <xsd:annotation>
          <xsd:documentation>Name of street on which building is located</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:group ref="PlaceGroup"/>
    </xsd:sequence>
    <xsd:attribute name="Type" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish type of address (e.g. Home, Office)
            Not Type should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractAddress occurs more than once in a single message.
</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="Purpose" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish purpose of address (e.g. Delivery or Mailing)
            Not Purpose should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractAddress occurs more than once in a single messag.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="BuildingNameType">
    <xsd:annotation>
      <xsd:documentation>Name used to identify building</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="BuildingNumberType">
    <xsd:annotation>
      <xsd:documentation>Number used to identify building (including qualifying letters)</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="StreetType">
    <xsd:annotation>
      <xsd:documentation>Name used to identify street</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PlaceType">
    <xsd:annotation>
      <xsd:documentation>Name used to identify place (city, town, village, etc)</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="RegionType">
    <xsd:annotation>
      <xsd:documentation>Name used to identify administrative region</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CountryType">
    <xsd:annotation>
      <xsd:documentation>ISO 3166 code used to identify country</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="ISO3166CountryCode"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="PostCodeType">
    <xsd:annotation>
      <xsd:documentation>Identifer used by postal authorities</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string"/>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="LocationType">
    <xsd:annotation>
      <xsd:documentation>Details of how to locate party</xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="Purpose" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Purpose for which location is defined (may be empty if code attribute is present)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:choice>
        <xsd:element ref="Identifier">
          <xsd:annotation>
            <xsd:documentation>Unique idenfiier for location</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="AbstractName" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation>Name by which location is identified</xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:choice>
    </xsd:sequence>
    <xsd:attribute name="Type" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish type of location (e.g. Airport or Train station)
            Not Type should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractLocation occurs more than once in a single message.
</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="Purpose" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish purpose of locator (e.g. Departure, Arrival)
            Not Purpose should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractLocation occurs more than once in a single messag.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:complexType name="PurposeType">
    <xsd:annotation>
      <xsd:documentation>Record of purpose of component</xsd:documentation>
    </xsd:annotation>
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute name="Code" type="xsd:string" use="optional"/>
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="CommunicationPointType">
    <xsd:annotation>
      <xsd:documentation>Means by which party can be contacted</xsd:documentation>
    </xsd:annotation>
    <xsd:all>
      <xsd:element ref="Purpose" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Purpose for which number is used (may be empty if code attribute is present)</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="Identifier">
        <xsd:annotation>
          <xsd:documentation>Identification sequence e.g. telephone or fax number or e-mail address</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:all>
    <xsd:attribute name="Type" type="xsd:string" use="optional">
      <xsd:annotation>
        <xsd:documentation>Used to distinguish type of communication point (e.g. Home, Business)
            Not Type should be indicated by name assigned to element in application schema
                      It should only be recorded in this attribute if the same element derived from
                      AbstractComminicationPoint occurs more than once in a single message.
</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
  <xsd:group name="PlaceGroup">
    <xsd:all>
      <xsd:element ref="Place">
        <xsd:annotation>
          <xsd:documentation>Name of city, town, etc in which address is to be found</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="Region" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Administrative region within country e.g. state, department, lander, county</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="Country" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Country in which place is located</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element ref="PostCode" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Code used by postal authorities to identify address</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:all>
  </xsd:group>
  <xsd:simpleType name="ISO3166CountryCode">
    <xsd:annotation>
      <xsd:documentation>Two or three digit code used to identify country in ISO 3166</xsd:documentation>
    </xsd:annotation>
    <xsd:list itemType="xsd:token"/>
  </xsd:simpleType>
  <xsd:element name="AbstractParty" type="PartyType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Base element for all applications of PartyType</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractReference" type="ReferenceType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Base element for all references to documentation</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractDateTime" type="DateTimeType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Base element for all date/times</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractAddress" type="AddressType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Base element for all addresses</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractLocation">
    <xsd:annotation>
      <xsd:documentation>Base element for all location identifiers</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractCommunicationPoint" type="CommunicationPointType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Base element for all communication point components</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractIdentity" type="IdentityType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Base element for all identities</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="AbstractName" type="NameType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Name used to identify party</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Identifier" type="IdentifierType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Unique identifier for parent object</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Code" type="CodeType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Code from external enumerated list used to identify party</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Description" type="FreeTextType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Free-text description of parent</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Date" type="DateType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>ISO 8601 Date</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Time" type="TimeType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>ISO 8601 time</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="BuildingName" type="BuildingNameType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Name by which building is identified</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="BuildingNumber" type="BuildingNumberType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Number bywhich building is identified</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="StreetName" type="StreetType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Name of street on which building is located</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Place" type="PlaceType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Name of city, town, etc in which address is to be found</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Region" type="RegionType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Administrative region within country e.g. state, department, lander, county</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Country" type="CountryType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Country in which place is located</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="PostCode" type="PostCodeType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Code used by postal authorities to identify address</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Purpose" type="PurposeType" abstract="true">
    <xsd:annotation>
      <xsd:documentation>Purpose for which location is defined (may be empty if code attribute is present)</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
</xsd:schema>
<?xml version="1.0" encoding="UTF-8"?>
<Order xmlns="http://www.me.com/Orders" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.me.com/Orders
C:\temp\OrderTest.xsd">
  <Buyer>
    <Identity>
      <Organization>The SGML Centre</Organization>
    </Identity>
    <Address>
      <BuildingNumber>29</BuildingNumber>
      <Street>Oldbury Orchard</Street>
      <City>Churchdown</City>
      <State>Glos.</State>
      <ZIP>GL3 2PU</ZIP>
    </Address>
    <Contact>
      <Number>+44 1452 714029</Number>
      <Type>Phone/Fax</Type>
    </Contact>
  </Buyer>
  <Seller>
    <Identity>
      <Person>Martin Bryan</Person>
    </Identity>
    <Contact>
      <Number>mtbryan@sgml.diffuse.org</Number>
      <Type>E-mail</Type>
    </Contact>
  </Seller>
</Order>
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.me.com/Orders" xmlns="http://www.me.com/Orders" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns:cc="http://www.ebxml.org/CoreComponents">
  <xsd:import namespace="http://www.ebxml.org/CoreComponents" schemaLocation="C:\My Documents\ebxml\party.xsd"/>
  <xsd:element name="Order">
    <xsd:annotation>
      <xsd:documentation>Test of purchase order</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element ref="Buyer"/>
        <xsd:element ref="Seller"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Buyer" substitutionGroup="cc:AbstractParty">
    <xsd:annotation>
      <xsd:documentation>Party purchasing goods</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:restriction base="cc:PartyType">
          <xsd:all>
            <xsd:element ref="Identity">
              <xsd:annotation>
                <xsd:documentation>Means of identifying party</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Address">
              <xsd:annotation>
                <xsd:documentation>Address at which party can be contacted</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Contact" maxOccurs="4">
              <xsd:annotation>
                <xsd:documentation>Means by which party can be contacted</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:all>
        </xsd:restriction>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Seller" substitutionGroup="cc:AbstractParty">
    <xsd:annotation>
      <xsd:documentation>Party selling goods</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:restriction base="cc:PartyType">
          <xsd:all>
            <xsd:element ref="Identity">
              <xsd:annotation>
                <xsd:documentation>Means of identifying party</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Address" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation>Address at which party can be contacted</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Contact" maxOccurs="4">
              <xsd:annotation>
                <xsd:documentation>Means by which party can be contacted</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:all>
        </xsd:restriction>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Identity" type="cc:IdentityType" substitutionGroup="cc:AbstractIdentity">
    <xsd:annotation>
      <xsd:documentation>Identity of party</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Organization" type="cc:NameType" substitutionGroup="cc:AbstractName">
    <xsd:annotation>
      <xsd:documentation>Name of organization</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Person" type="xsd:string" substitutionGroup="cc:AbstractName">
    <xsd:annotation>
      <xsd:documentation>Name of person</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="DUNS" type="xsd:string" substitutionGroup="cc:Identifier">
    <xsd:annotation>
      <xsd:documentation>DUNS number assigned to organization</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="SSN" substitutionGroup="cc:Identifier">
    <xsd:annotation>
      <xsd:documentation>Social Security Number, or other number assigned to uniquely identify person</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="SchemeName" type="xsd:string" use="optional">
            <xsd:annotation>
              <xsd:documentation>Name of body issuing identifier</xsd:documentation>
            </xsd:annotation>
          </xsd:attribute>
          <xsd:attribute name="SchemeURI" type="xsd:uriReference" use="optional">
            <xsd:annotation>
              <xsd:documentation>Pointer to source of valid identifiers</xsd:documentation>
            </xsd:annotation>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="EAN" substitutionGroup="cc:Code">
    <xsd:annotation>
      <xsd:documentation>EAN code assigned to party</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Reference" type="cc:ReferenceType" substitutionGroup="cc:AbstractReference">
    <xsd:annotation>
      <xsd:documentation>Reference to external documentation</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="DocID" type="cc:IdentifierType">
    <xsd:annotation>
      <xsd:documentation>Identifier of referenced document</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Description" type="cc:FreeTextType">
    <xsd:annotation>
      <xsd:documentation>Free-text description of document</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="IssueDate" type="cc:DateTimeType">
    <xsd:annotation>
      <xsd:documentation>Date document was issued</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Location" type="cc:LocationType" substitutionGroup="cc:AbstractLocation">
    <xsd:annotation>
      <xsd:documentation>Identifer assigned to party location</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Contact" substitutionGroup="cc:AbstractCommunicationPoint">
    <xsd:annotation>
      <xsd:documentation>Person to contact at party</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:restriction base="cc:CommunicationPointType">
          <xsd:all>
            <xsd:element ref="Type" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation>Purpose for which number is used (may be empty if code attribute is present)</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Number">
              <xsd:annotation>
                <xsd:documentation>Identification sequence e.g. telephone or fax number or e-mail address</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:all>
        </xsd:restriction>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Date" substitutionGroup="cc:Date">
    <xsd:annotation>
      <xsd:documentation>ISO 8601 Date</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:date">
          <xsd:attribute name="Format" type="xsd:string" use="optional"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Time" substitutionGroup="cc:Time">
    <xsd:annotation>
      <xsd:documentation>ISO 8601 time</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:time">
          <xsd:attribute name="Format" type="xsd:string" use="optional"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Address" type="cc:AddressType">
    <xsd:annotation>
      <xsd:documentation>Address of party</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="BuildingNumber" type="cc:BuildingNumberType">
    <xsd:annotation>
      <xsd:documentation>Number of building</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="BuildingName" type="cc:BuildingNameType">
    <xsd:annotation>
      <xsd:documentation>Name of building</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Street" type="cc:StreetType" substitutionGroup="cc:StreetName">
    <xsd:annotation>
      <xsd:documentation>Name of street on which building is located</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="City" type="cc:PlaceType" substitutionGroup="cc:Place">
    <xsd:annotation>
      <xsd:documentation>Name of city, town, etc in which address is to be found</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="State" type="cc:RegionType" substitutionGroup="cc:Region">
    <xsd:annotation>
      <xsd:documentation>State within USA</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="ZIP" type="cc:PostCodeType" substitutionGroup="cc:PostCode">
    <xsd:annotation>
      <xsd:documentation>Code used by postal authorities to identify address</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Usage" substitutionGroup="cc:Purpose">
    <xsd:annotation>
      <xsd:documentation>Purpose for which location is defined (may be empty if code attribute is present)</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="Code" type="xsd:token" use="optional"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="Purpose" type="cc:PurposeType">
    <xsd:annotation>
      <xsd:documentation>Purpose of locator</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="LOCODE" type="cc:IdentifierType">
    <xsd:annotation>
      <xsd:documentation>Identifier assigned to location by UN</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Type" type="cc:PurposeType" substitutionGroup="cc:Purpose">
    <xsd:annotation>
      <xsd:documentation>Method of communication</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
  <xsd:element name="Number" type="cc:IdentifierType">
    <xsd:annotation>
      <xsd:documentation>Phone/Fax number or Internet address</xsd:documentation>
    </xsd:annotation>
  </xsd:element>
</xsd:schema>

party.png

Order.png



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC