Page tree
Skip to end of metadata
Go to start of metadata

XML Schemas can be imported directly if they are in namespace http://www.w3.org/2001/XMLSchema. To import the following schema, use the importer of the BUILDER (see Importing WSDL or XSD).

<?xml version="1.0"?> 
 <xsd:schema targetNamespace="urn: PurchaseOrderNS" 
   xmlns:typens="urn: PurchaseOrderNS" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
   elementFormDefault="qualified"> 
   <xsd:annotation> 
      <xsd:documentation xml:lang="en"> 
         Purchase order schema for Example.com. 
         Copyright 2000 Example.com. All rights reserved. 
      </xsd:documentation> 
   </xsd:annotation> 
   
   <xsd:element name="purchaseOrder" type="typens:PurchaseOrderType"/> 
   <xsd:element name="comment" type="xsd:string"/> 
   
   <xsd:complexType name="PurchaseOrderType"> 
      <xsd:sequence> 
        <xsd:element name="shipTo" type="typens:USAddress"/> 
        <xsd:element name="billTo" type="typens:USAddress"/> 
        <xsd:element ref="typens:comment" minOccurs="0"/> 
        <xsd:element name="items" type="typens:Items"/> 
      </xsd:sequence> 
      <xsd:attribute name="orderDate" type="xsd:date"/> 
   </xsd:complexType> 
   
   <xsd:complexType name="USAddress"> 
      <xsd:sequence> 
        <xsd:element name="name" type="xsd:string"/> 
        <xsd:element name="street" type="xsd:string"/> 
        <xsd:element name="city" type="xsd:string"/> 
        <xsd:element name="state" type="xsd:string"/> 
        <xsd:element name="zip" type="xsd:decimal"/> 
      </xsd:sequence> 
      <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/> 
   </xsd:complexType> 
   
   <xsd:complexType name="Items"> 
      <xsd:sequence> 
        <xsd:element name="item" minOccurs="0" maxOccurs="unbounded"> 
           <xsd:complexType> 
             <xsd:sequence> 
               <xsd:element name="productName" type="xsd:string"/> 
               <xsd:element name="quantity"> 
                  <xsd:simpleType> 
                    <xsd:restriction base="xsd:positiveInteger"> 
                      <xsd:maxExclusive value="100"/> 
                    </xsd:restriction> 
                  </xsd:simpleType> 
               </xsd:element> 
               <xsd:element name="USPrice" type="xsd:decimal"/> 
               <xsd:element ref="typens:comment" minOccurs="0"/> 
               <xsd:element name="shipDate" type="xsd:date" 
               minOccurs="0"/> 
             </xsd:sequence> 
             <xsd:attribute name="partNum" type="typens:SKU" 
           use="required"/> 
           </xsd:complexType> 
        </xsd:element> 
      </xsd:sequence> 
   </xsd:complexType> 
   
   <!-- Stock Keeping Unit, a code for identifying products --> 
   <xsd:simpleType name="SKU"> 
      <xsd:restriction base="xsd:string"> 
        <xsd:pattern value="\d{3}-[A-Z]{2}"/> 
      </xsd:restriction> 
   </xsd:simpleType> 
 </xsd:schema>

The following sections explain step by step how the Importer maps the above schema to UML. For more details about XML Schemas, refer to the XML Schema specification.

  • No labels