Artículo
|
XML Schema y DTDs |
DTD Vs Schema
DTD Vs Schema
Dado que el surgir de una nueva tecnología donde ya existía otra es síntoma de que un grupo de gente cree que en el actual estado de ese campo o bien las cosas no están bien hechas o bien falta algo por hacer vamos a mostrar en nuestro caso que limitaciones tenían las DTDs para que fuese necesaria la aparición de XML Schema.
- Posee un lenguaje propio de escritura, lo cual deriva en problemas a la hora de:
- - el aprendizaje – no sólo hay que aprender XML si no que además hay que conseguir hacerse con el lenguaje de las DTDs –,
- - procesado del documento – las herramientas y parsers que se empleen para tratar los documentos de XML deben ser capaces de procesar las DTDs –.
- No permite el uso de namespaces, estos permiten definir elementos con igual nombre dentro del mismo contexto, siempre y cuando se anteponga un prefijo al nombre del elemento.
- Tiene un tipado para los datos del documento extremadamente limitado, no permite definir el que un elemento pueda ser de un tipo numeral o de un tipo de fecha, sólo presenta variaciones limitadas sobre strings.
- El mecanismo de extensión es complejo y frágil, está basado en sustituciones sobre strings. Lo peor de dichas extensiones es que realmente no hace explicitas las relaciones en ningún momento, es decir, dos elemento que tienen definido el mismo modelo de contenido no presentan ninguna relación.
Estás pegas son superadas en la especificación de XML Schema, permitiendo un lenguaje mucho más expresivo. A parte de la expresividad, la presencia de los Schemas permite un intercambio de información mucho más robusto.
A parte de solventar los problemas antes expuestos, XML Schema, permite una serie de ventajas adicionales que se consideraron importantes:
- Una estructura de tipos mucho más rica. En la segunda parte de la especificación de XML Schema (XML Schema Part 2: Datatypes) se definen los tipos base que se pueden emplear dentro de esquema de XML, e.g., integer, bolean, string, date, etc.
- Permite tipos definidos por el usuario, llamados Arquetipos, dándoles un nombre y que se pueden emplear en distintas partes dentro del Schema.
- Es posible agrupar atributos, haciendo más comprensible el uso de un grupo de aspectos de varios elementos distintos, pero con denominador común, que deben ir juntos en cada uno de estos elementos.
- El trabajo con namespaces (XML Schema Part 0: Primer) está especificado, permitiendo, dentro de la dificultad que conlleva trabajar con ellos, validar documentos con varios namespaces.
- Sin embargo, la característica que más resalta la utilidad de XML Schema es la posibilidad de extender Arquetipos de un modo específico, es decir permite lo que en términos de orientación a objetos se llama herencia. Considérese un esquema que extiende otro previamente hecho, se permite refinar la especificación de algún tipo de elemento para, por ejemplo, indicar que puede contener algún nuevo elemento del tipo que sea; pero dejando el resto del esquema antiguo completamente intacto.
Comentarios
Últimas noticias
Últimos artículos
















































