Perfil UML para XSD

Superior  Previo  Próximo

El Perfil del UML para XSD especifica un conjunto de estereotipos, valores etiquetados y restricciones que se pueden aplicar al modelo del UML para cambiar aspectos particulares del esquema resultante. Por ejemplo, podemos desear tener ciertos atributos de clase del UML convertidos a los atributos XSD o, podemos necesitar usar un grupo del modelo diferente al de "secuencia" predeterminada.  

 

EA provee soporte nativo para el perfil del UML para XSD a través del Perfíl del UML para XSD. Ver el tema Usando Perfiles para obtener detalles a cerca de importar perfiles del UML en EA. El perfíl XSD usado en EA, es una adaptación del perfil definido por David Carlson en su libro "Modeling XML Applications with UML"(Modelando Aplicaciones XML con UML).

 

Los estereotipos XSD proveen una asignación explícita desde XSD a construcciones del UML. Los valores etiquetados definen más aun los aspectos de las asignaciones, como si los elementos deberían ser calificados o no. Las restricciones definen cualquier condición que sea satisfactoria para el estereotipo que se aplicará.

 

La siguiente tabla lista las características del Perfil del UML para XSD. Los nombres de los valores etiquetados se muestran en Negrita seguida de los valores permitidos. Si hay un un valor predeterminado usado en el generador de esquema de EA, este estará subrayado.

 

 

<<XSDschema>>

 

Estructura del UML

Paquete

Descripción

Todas las clases en un paquete se definen dentro de un esquema. Este estereotipo se puede usar para especificar las configuraciones amplitud-esquema. 

Valores Etiquetados

 

anonymousRole:

 

( verdadero | falso )

 

Especifica si el nombre del rol se incluye en la declaración del elemento para el atributo del UML.  

 

anonymousType:

 

( verdadero | falso )

 

Especifica si el tipo de clase es anónimo para los atributos.

 

attributeFormDefault:

 

( calificado | no calificado )

 

Determina si las instancias de los atributos se deben calificar.

 

defaultNamespace:

El namespace predeterminado usado en este esquema. Este valor se usa para especificar el atributo del namespace predeterminado (xmlns=), en el elemento esquema.

elementDerivation:

 

( verdadero | falso )

 

Determina si las herencias son generadas usando la extensión XSD o herencia copy-down.

 

elementFormDefault:

 

( calificado | no calificado )

 

Determina si las instancias de los elementos se deben calificar.

memberNames:

 

( calificado | no calificado )

 

Determina si los elementos generados desde los atributos de Clase tienen su nombre calificado por el nombre de la clase correspondiente.

modelGroup:

( todo | secuencia | elección )

 

Especifica el grupo del modelo XSD predeterminado para generar definiciones complexType.

schemaLocation:

El URI que identifica la ubicación del esquema. Este valor se usa en los elementos de inclusión e importación.

targetNamespace:

El URI que únicamente identifica este namespace del esquema.

targetNamespacePrefix:

El prefijo que abrevia el targetNamespace.

versión:

La versión de este esquema.

 

<<XSDcomplexType>>

 

Estructura UML

Clase

Descripción

Las definiciones complexType se crean para las clases del UML genéricas. Estas ayudas de los estereotipos abarcan la generación de una definición complexType.

Valores Etiquetados

 

memberNames:

( calificado | no calificado )

 

Determina si los elementos generados desde los atributos y asociaciones que tienen su nombre calificado por el nombre de la clase correspondiente para esta definición complexType definition.

mixed:

( verdadero | falso )

 

Determina si este elemento puede contener un elemento mixto y un contenido de caracter. Referirse a la recomendación del Esquema XML W3C.

 

modelGroup:

( Todo | secuencia | elección )

 

Sustituir el modelo XSD predeterminado para generar esta definición complexType.

 

Restricciones

Ninguna.

 

 

<<XSDsimpleType>>

 

Estructura del UML

Clase

Descripción

Un XSD simpleType se genera para las clases con este estereotipo.

Valores Etiquetados

 

derivación:

 

( restricción | lista )

Especifica la derivación de un simpleType. Se refiere a la recomendación de Esquema XML W3C.

 

longitud:

Se refiere a la recomendación del esquema W3C XML.

minLength:

Se refiere a la recomendación del esquema W3C XML.

maxLength:

Se refiere a la recomendación del esquema W3C XML.

minInclusive:

Se refiere a la recomendación del esquema W3C XML.

minExclusive:

Se refiere a la recomendación del esquema W3C XML.

maxInclusive:

Se refiere a la recomendación del esquema W3C XML.

maxExclusive:

Se refiere a la recomendación del esquema W3C XML.

totalDigits:

Se refiere a la recomendación del esquema W3C XML.

fractionDigits:

Se refiere a la recomendación del esquema W3C XML.

whitespace:

Se refiere a la recomendación del esquema W3C XML

patrón:

Se refiere a la recomendación del esquema W3C XML.

Restricciones

Esta clase puedo solo participar en una relación de herencia con otro simpleType. Este no puede tener ningún atributo o apropiarse de ninguna asociación. Si esta presente será ignorado.

 

 

<<XSDsequence>>

 

Estructura del UML

Clase

Descripción

El generador del esquema crea un grupo de modelo de secuencia como un contenedor para los atributos y asociaciones apropiadas por esta clase. El grupo del modelo se agrega a los grupos del modelo de propietarios respectivos de esta clase.

 

Tener  en cuenta: los valores etiquetados especificados por los propietarios de esta clase persisten a través de los elementos hijos de este grupo del modelo. En conclusión si los memberNames no se califican para un complexType, entonces los hijos de este grupo del modelo cuando sean agregados a ese complexType.

Valores Etiquetados

Ninguno

Restricciones

Esta clase debe ser el destino de las asociaciones unidireccional. si no es así, esta clase y sus conectores se ignoran, posiblemente invalidando otras clases de grupo del modelo. Las relaciones de herencia se ignoran para esta clase.  

 

<<XSDchoice>>

 

Estructura del UML

Clase

Descripción

Crea un elemento de elección XSD. Referirse a XSDsequence para más detalles.

Valores Etiquetados

 

Restricciones

Como para XSDsequence.

 

 

<<XSDelement>>

 

Estructura del UML

Atributo; AssociationEnd

Descripción

Aplicando este estereotipo a un atributo de clase del UML o AssociationEnd, la entidad del UML correspondiente se genera com un elemento dentro del padre complexType y no como un atributo XSD.

Valores Etiquetados

 

forma:

 

( calificado | no calificado )

 

Sustituye el valor elementFormDefault del esquema.

 

posición:

Causa que los elementos se ordenen dentro de un grupo del modelo de secuencia del complexType contenido. Los valores etiquetados de posición inválida o duplicada se ignoran y resultan en un ordenado no definido de los atributos del UML. Los valores de la posición que falta hace que las posiciones definidas se ubiquen como especificadas, con los elementos que restan llenando las posiciones que faltan en un orden definido.

anonymousRole:

( verdadero | falso )

Especifica si el nombre del archivo se incluye en la declaración del elemento para el atributo del UML.

anonymousType:

 

( verdadero | falso )

 

Especifica si el tipo de clase es anónimo para los atributos.

 

Restricciones

Ninguna.

 

 

<<XSDattribute>>

 

Estructura del UML

Atributo; AssociationEnd

Descripción

Aplicando este estereotipo a un atributo de clase del UML o AssociationEnd, la entidad del UML correspondiente se genera como un atributo XSD dentro del complexType padre y no como un elemento XSD.

Valores Etiquetados

 

Forma:

( calificado | no calificado )

 

Sustituye el valor attributeFormDefault del esquema.

 

Uso:

(prohibido | opcional | requerido )

 

Referirse a la recomendación del Esquema W3C XML.

 

Determinado:

Referirse a la recomendación del Esquema W3C XML.

Fijo:

Referirse a al recomendación del Esquema W3C XML.

Restricciones

El tipo de dato del atributo no debería referirse a una especificación de clase, de otra forma se ignorará

 

 

<<XSDany>>

 

Estructura del UML

Clase; Atributo

Descripción

Si aplicado a un atributo UML, se genera un elemento XSD anyAttribute.

Si aplicado a una clase UML, se genera cualquier elemento XSD

 

Valores Etiquetados

 

espacio de nombre:

Se refiere a la recomendación del Esquema XML W3C

processContents:

 

( saltear | lax | estricto )

Se refiere a la recomendación del Esquema XML W3C

 

restricciones

Ninguna.

 

 

<<XSDrestriction>>

 

Estructura del UML

Generalización

Descripción

Redefine el uso predeterminado de una extensión XSD para la herencia y generaliza en cambio el hijo como un complexType con un elemento de restricción.

 

Valores Etiquetados

Ninguno.

Restricciones

Aplica solo a relaciones UML de clases padre-hijo.

 

 

 

<<XSDgroup>>

 

Estructura del UML

Clase

Descripción

Se genera un XSDgroup para clases con este estereotipo.

 

Valores Etiquetados

 

modelGroup:

 

(secuencia | elección | todo)

Redefine el modelo predeterminado XSD para generar esta definición de grupo.

 

Restricciones

un grupo de clase sólo puede asociarse el mismo a otro grupo de clases

Un grupo de clase puede asociarse por otro grupo de clase o una clase complexType

La asociación debe ser vía un conector de asociación.

Un grupo de clase no puede ser heredado/agregado

 

 

 

<<XSDtopLevelElement>>

 

Estructura del UML

Clase

Descripción

Crea una estructura <xs:element> que actúa como un contenedor para la clase XSDcomplexType y XSDsimpleType.

 

Valores Etiquetados

Ninguno

Restricciones

Una clase XSDtopLevelElement puede contener o un XSDsimpleType ó un XSDcomplexType como su clase hijo. Cuando tal clase se presenta como su hijo, todas sus herencias serán ignoradas. Esta clase no puede ser heredada.

 

 

 

<<XSDtopLevelAttribute>>

 

Estructura del UML

Clase

Descripción

Crea una estructura <xs:attributr> que actúa como un contenedor para la clase XSDsimpleType

 

Valores Etiquetados

 

uso:

 

(opcional | requerido | prohibido)

Se refiere a la recomendación del esquema W3C XML

 

Restricciones

Una clase XSDtopLevelAttribute  puede contener solamente una clase XSDsimpleType como su clase hija. Cuando tal clase se presenta como su hija, todas sus herencias serán ignoradas. Este clase puede heredar solamente una clase XSDsimpleType.

 

 

 

<<XSDunion>>

 

Estructura del UML

Clase

Descripción

Crea una estructura <xs:union> que puede actuar como un contenedor para la clase XSDsimpleType.

 

Valores Etiquetados

Ninguno

Restricciones

una clase XSDunion puede contener solamente XSDsimpleType  como su clase hija y puede generalizar desde otras clases XSDsimpleType solamente. Todas las clases que esta clase generaliza se convierten en los miembros del atributo "memberTypes". Esta clase no puede tener cualquier atributo o asociaciones.

 

 

 

<<XSDattributeGroup>>

 

Estructura del UML

Clase

Descripción

Crea una construcción <xsattributeGroup> que puede actuar como un contenedor para un conjunto de elementos para stereoType XSDattribute

 

Valores Etiquetados

Ninguno

Restricciones

Una clase XSDattributeGroup  puede contener solamente elementos de stereoType XSDattribute  y puede ser asociado a otras clases XSDattributeGroup solamente. Sólo las clases

XSDcomplexType  pueden asociarse a si mismas con esta clase. Esta clase no puede ser heredada.