Transformación XSD

Superior  Previo  Próximo

El objetivo de la transformación XSD es convertir los elementos del Platform-Independent Model (PIM) al perfil UML para los elementos XML como un paso intermedio para crear un Esquema XML. Cada elemento de clase PIM seleccionado se convierte en un elemento <<XSDcomplexType>>.

 

Para más información, ver Generación de Esquema XML.

 

Para nuestro PIM estándar

 

pim

 

 

Transformamos a:

 

psm_xsd

 

 

Que a su vez genera el siguiente XSD:

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

       <xs:element name="Account" type="Account"/>

       <xs:complexType name="Account">

               <xs:sequence>

                       <xs:element name="name" type="xs:string"/>

                       <xs:element name="billingAddress" type="xs:string"/>

                       <xs:element name="emailAddress" type="xs:string"/>

                       <xs:element name="closed" type="xs:boolean"/>

                       <xs:element name="deliveryAddress" type="xs:string"/>

                       <xs:element ref="Order"/>

                       <xs:element ref="ShoppingBasket"/>

               </xs:sequence>

       </xs:complexType>

       <xs:element name="LineItem" type="LineItem"/>

       <xs:complexType name="LineItem">

               <xs:sequence>

                       <xs:element name="quantity" type="xs:integer"/>

                       <xs:element ref="StockItem"/>

               </xs:sequence>

       </xs:complexType>

       <xs:element name="Order" type="Order"/>

       <xs:complexType name="Order">

               <xs:sequence>

                       <xs:element name="date" type="xs:date"/>

                       <xs:element name="deliveryInstructions" type="xs:string"/>

                       <xs:element name="orderNumber" type="xs:string"/>

                       <xs:element ref="LineItem"/>

                       <xs:element name="status" type="OrderStatus"/>

               </xs:sequence>

       </xs:complexType>

       <xs:simpleType name="OrderStatus">

               <xs:restriction base="xs:string">

                       <xs:enumeration value="new"/>

                       <xs:enumeration value="packed"/>

                       <xs:enumeration value="dispatched"/>

                       <xs:enumeration value="delivered"/>

                       <xs:enumeration value="closed"/>

               </xs:restriction>

       </xs:simpleType>

       <xs:element name="ShoppingBasket" type="ShoppingBasket"/>

       <xs:complexType name="ShoppingBasket">

               <xs:sequence>

                       <xs:element ref="LineItem"/>

               </xs:sequence>

       </xs:complexType>

       <xs:element name="StockItem" type="StockItem"/>

       <xs:complexType name="StockItem">

               <xs:sequence>

                       <xs:element name="catalogNumber" type="xs:string"/>

               </xs:sequence>

       </xs:complexType>

       <xs:element name="Transaction" type="Transaction"/>

       <xs:complexType name="Transaction">

               <xs:sequence>

                       <xs:element name="date" type="xs:date"/>

                       <xs:element name="orderNumber" type="xs:string"/>

                       <xs:element ref="Account"/>

                       <xs:element ref="LineItem"/>

               </xs:sequence>

       </xs:complexType>

</xs:schema>

 

 

Vea También

Modelo XSD
Generar XSD