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 Perfil del UML para XSD. Ver el tema Usando Perfiles para obtener detalles a cerca de importar perfiles del UML en EA. El perfil 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 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 carácter. 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.
|
|