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

XML à partir de modèles de classes abstraites

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. Bien qu'un tel modèle abstrait puisse 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 en fichier XSD.

Exemple

Structure

Détail

Diagramme

Il s'agit d'une version simple de l'élément Class du modèle d'exemple Employee Details 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 du modèle d'exemple :

<?xml version="1.0"?>

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

<xs:simpleType name="Statut">

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

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

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

<xs:enumeration value="Décontracté"/>

<xs:enumeration value="Contrat"/>

</xs:restriction>

</xs:simpleType>

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

<xs:complexType name="Personne">

<xs:séquence>

<xs:élément nom="firstName" type="xs: string "/>

<xs:élément nom="surnom" type="xs: string "/>

<xs:élément nom="date de naissance" type="xs: string "/>

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

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

</xs:séquence>

</xs:complexType>

<xs:element name="Employé" type="Employé"/>

<xs:complexType name="Employé">

<xs:complexContent>

<xs:extension base="Personne">

<xs:séquence>

<xs:élément nom="statut" type="Statut"/>

<xs:élément nom="jobTitle" type="xs: string "/>

<xs:élément nom="date de début" type="xs:date"/>

<xs:élément nom="département" type="xs: string "/>

</xs:séquence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:element name="Enregistrements des employés" type="Enregistrements des employés"/>

<xs:complexType name="Enregistrements des employés">

<xs:séquence>

<xs:element name="Employé" type="Employé" minOccurs="0" maxOccurs="illimité"/>

</xs:séquence>

</xs:complexType>

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

<xs:complexType name="Informations de contact">

<xs:séquence>

<xs:élément nom="homePhone" type="xs: string "/>

<xs:élément nom="téléphonemobile" type="xs: string "/>

<xs:élément nom="officePhone" type="xs: string "/>

<xs:élément nom="email" type="xs: string "/>

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

</xs:séquence>

</xs:complexType>

</xs:schema>

Apprenez Plus