Réserver une Démo
Pré. Proc.

XML à partir de modèles de classe abstraits

Vous pouvez modéliser des schémas XML en utilisant uniquement des modèles de classe simples et abstraits. Cela permet à un architecte, par exemple, de commencer à travailler à un niveau d'abstraction plus élevé sans se soucier des détails d'implémentation d'un schéma. Alors qu'un tel modèle abstrait peut ensuite être affiné à l'aide des pages 'Schéma XML' de la Boîte à outils, il peut également être généré directement par le générateur de schéma d' Enterprise Architect , auquel cas le générateur de schéma applique un ensemble de mappages par défaut pour convertir le modèle abstrait dans un fichier XSD.

Exemple

Structure

Détail

Diagramme

Il s'agit d'une version simple de l'élément Class de l'exemple de modèle Détails de l'employé précédent. Il n'utilise pas de stéréotypes spécifiques à XSD ni Valeur Étiquetés .

This is a simple Class element version of an Employee Details example model. It does not use XSD-specific stereotypes or tagged values.

Schéma

Ce fragment de schéma peut être généré à partir de l'exemple de modèle :

<?xml version="1.0"?>

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

<xs:simpleType name="Status">

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

<xs:enumeration value="Temps plein"/>

<xs:enumeration value="Part-Time"/>

<xs:enumeration value="Casual"/>

<xs:enumeration value="Contrat"/>

</xs:restriction>

</xs:simpleType>

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

<xs:complexType name="Personne">

<xs:séquence>

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

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

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

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

<xs:element name="contactDetails" type="ContactInfo"/>

</xs:séquence>

</xs:complexType>

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

<xs:complexType name="Employee">

<xs:complexContent>

<xs:extension base="Personne">

<xs:séquence>

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

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

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

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

</xs:séquence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

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

<xs:complexType name="EmployeeRecords">

<xs:séquence>

<xs:element name="Employee" type="Employee" minOccurs="0" maxOccurs="unbounded"/>

</xs:séquence>

</xs:complexType>

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

<xs:complexType name="ContactInfo">

<xs:séquence>

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

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

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

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

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

</xs:séquence>

</xs:complexType>

</xs:schema>

Apprenez Plus