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
Transformamos a:
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 |