XML desde Modelos de Clases Abstractas [Guía de Usuario de Enterprise Architect]

Top Previous Next

XML desde Modelos de Clases Abstractas

button_main button_prev button_next

Puede modelar esquemas de XML utilizando sólo modelos de clases simples y abstractas. Esto, hace posible para un arquitecto, por ejemplo, empezar a trabajar en un nivel más alto de abstracción, sin preocuparse por los detalles de implementación de un Esquema. Mientras que un modelo tan abstracto, puede ser redefinido posteriormente, utilizando las páginas del Esquema XML de la Caja de Herramientas; que también puede ser generado directamente por el Generador de Esquemas de Enterprise Architect, en cuyo caso el Generador de Esquema aplica un conjunto de mapeos predeterminados para convertir el modelo abstracto a un archivo XSD.

Ejemplo

Estructura

Detalle

Diagrama

Esta es una versión simple de un elemento de clase del modelo de ejemplo de anterior de Detalles del Empleado. No utiliza estereotipos específicos de XSD o Valores Etiquetados.

 

genxsdexample

 

Esquema

Este fragmento de esquema, puede ser generado del modelo de arriba:

 

<?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="Full-Time"/>

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

<xs:enumeration value="Casual"/>

<xs:enumeration value="Contract"/>

</xs:restriction>

</xs:simpleType>

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

<xs:complexType name="Person">

<xs:sequence>

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

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

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

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

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

</xs:sequence>

</xs:complexType>

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

<xs:complexType name="Employee">

<xs:complexContent>

<xs:extension base="Person">

<xs:sequence>

<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:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

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

<xs:complexType name="EmployeeRecords">

<xs:sequence>

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

</xs:sequence>

</xs:complexType>

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

<xs:complexType name="ContactInfo">

<xs:sequence>

<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:sequence>

</xs:complexType>

</xs:schema>

 

 

Aprender Más

Ejemplo de Diagrama de Esquema XML

UML Predeterminado a Mapeos XML

Generar XSD