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.
DTD | XML Schema | Comentarios |
---|---|---|
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:
|
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".