XML Schema y DTDs

En un principio, con la creaci�n de XML, se empez� empleando las DTDs como modo de especificaci�n de modelos; la existencia de m�s herramientas para ello hizo que gran parte de las empresas que empezaron a trabajar con XML adoptasen el uso de las DTDs. Actualmente el uso de las estas a quedado un m�s restringido en su uso, y se est� empezando a desarrollar de acuerdo al est�ndar de XML Schema; por ello, a continuaci�n, presentaremos las transformaciones que deber�an realizarse para convertir una DTD en un Schema.

En principio mostraremos a que elemento de XML Schema corresponden que elementos de las DTDs, aunque existen herramientas de traducci�n (DTD2HTML en Perl, XMLSpy ,...) entre estos dos lenguajes, la siguiente tabla intenta expresar como funciona con el fin de una mejor comprensi�n.

DTDXML SchemaComentarios
ELEMENT <element> Crea un v�nculo entre un nombre y unos atributos, modelos de contenido y anotaciones
#PCDATA Soportado como parte de un tipo simple

ANY <any> Posee distintos comodines para un mayor conjunto de posibilidades. Existe tambi�n <anyAttribute> con comodines similares.
EMPTY Soportado Se elimina la existencia de elementos descendientes del actual, diferenciando de la presencia de un string vac�o en un elemento.
Modelo deContenido <complexType>

, (Conector de secuencia) <sequence>

| (Conector de alternativas) <disjunction>

? (Opcional) Soprtado Se han de emplear los atributos predefinidos de maxOccurs y minOccurs
+(Requerido y Repetible) Soportado Se han de emplear los atributos predefinidos de maxOccurs y minOccurs
*(Opcional y Repetible) Soportado Se han de emplear los atributos predefinidos de maxOccurs y minOccurs
ATTLIST <attributeGroup> Se pueden agrupar declaraciones de <attributes>
Tipo de atributo CDATA, ID, IDREF, NOTATION, ... Tipos <simpleType>predefinidos

ENTITY NO Soportado Las entidades son declaradas en declaraciones de marcas en el XML
ENTITY%Parameter NO Soportada Las entidades param�tricas permiten un mecanismo de bajo nivel que permite distintas cosas, algunas de estas se han intentado cubrir en XML Schema:
  • .. La separaci�n entre <element> y <complexType>
  • .. Grupos de atributos
  • .. Grupos de modelos con nombre
  • .. Mecanismos de extensi�n y restricci�n de tipos
  • .. Los mecanismos de <import> e <include> para componer esquemas
  • .. El mecanismo de redefinici�n de elementos

Si bien esta tabla vale como aproximaci�n a los cambios que habr�a que realizar para poder migrar, cuando menos de ideas, del uso de las DTDs a XML Schema, es cierto que es necesario el uso de ciertos modelos UML para poder normalizar estos cambios, a este respecto es bueno resaltar el trabajo expuesto en "Migrating from XML DTD to XML Schema using UML 6".

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP