Pré. | Proc. |
Transformation XSD
La transformation XSD convertit les éléments PIM (Platform-Independent Modèle ) en éléments UML Profile for XML comme étape intermédiaire dans la création d'un schéma XML. Chaque élément PIM Class sélectionné est converti en élément « XSDcomplexType ».
Exemple
Les éléments PIM
Après la transformation, ils deviennent les éléments PSM
Ceux-ci génèrent à leur tour ce XSD
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Compte" type="Compte"/>
<xs:complexType name="Compte">
<xs:séquence>
<xs:élément nom="nom" type="xs: string "/>
<xs:element name="billingAddress" type="xs: string "/>
<xs:element name="adresse e-mail" type="xs: string "/>
<xs:élément nom="fermé" type="xs:booléen"/>
<xs:element name="adresse de livraison" type="xs: string "/>
<xs:element ref="Commande"/>
<xs:element ref="Panier"/>
</xs:séquence>
</xs:complexType>
<xs:element name="LineItem" type="LineItem"/>
<xs:complexType name="Ligne">
<xs:séquence>
<xs:élément nom="quantité" type="xs: integer "/>
<xs:element ref="Article en stock"/>
</xs:séquence>
</xs:complexType>
<xs:element name="Commande" type="Commande"/>
<xs:complexType name="Commande">
<xs:séquence>
<xs:élément nom="date" type="xs:date"/>
<xs:élément nom="deliveryInstructions" type="xs: string "/>
<xs:élément nom="numéro de commande" type="xs: string "/>
<xs:element ref="Ligne"/>
<xs:élément nom="status" type="OrderStatus"/>
</xs:séquence>
</xs:complexType>
<xs:simpleType name="État de la commande">
<xs:restriction base="xs: string ">
<xs:enumeration value="nouveau"/>
<xs:enumeration value="emballé"/>
<xs:enumeration value="envoyé"/>
<xs:enumeration value="livré"/>
<xs:enumeration value="fermé"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Panier" type="Panier"/>
<xs:complexType name="Panier">
<xs:séquence>
<xs:element ref="Ligne"/>
</xs:séquence>
</xs:complexType>
<xs:element name="StockItem" type="StockItem"/>
<xs:complexType name="Article en stock">
<xs:séquence>
<xs:element name="catalogNumber" type="xs: string "/>
</xs:séquence>
</xs:complexType>
<xs:element name="Transaction" type="Transaction"/>
<xs:complexType nom="Transaction">
<xs:séquence>
<xs:élément nom="date" type="xs:date"/>
<xs:élément nom="numéro de commande" type="xs: string "/>
<xs:element ref="Compte"/>
<xs:element ref="Ligne"/>
</xs:séquence>
</xs:complexType>
</xs:schema>