tu displaytu displaytu displaytu displaytu displaytu displaytu displaytu displaytu displaytu displaytu display


DEFINICION DE TIPO DE DOCUMENTO DTD


DTD Document Type Definition


Document Type Definition, definido ligeramente diferente dentro de las especificaciones de XML y SGML (el lenguaje XML se deriva de este), es uno de los diferentes SGML y XML lenguajes de esquema, y es también el termino usado para describir un documento que es escrito en lenguaje DTD. Un DTD es principalmente utilizado para la expresión de un esquema vía un grupo de declaraciones que conforman una particular sintáxis que describe una clase, o un tipo, de documentos de SGML y XML, en términos de una restricción de la estructura de esos documentos. Un DTD podría declarar constructores que no siempre son requeridos para establecer la estructura de un documento, pero eso podría afectar la interpretación de algunos documentos.


Audio acerca del tema

Más material multimedia power Point, Videos, CHAT público

DTD es nativo de las especificaciones de SGML y XML, y desde que se introdujo otras especificaciones de lenguajes como XML Schema y RELAX NG han sido lanzados con funcionalidades adicionales.


Como una expesion de esquema, un DTD especifica, en efecto, la sintaxis de una "aplicacion" de SGML y XML, como los lenguajes derivados HTML o XHTML. Esta sintaxis es usualmente una forma menos general de sintaxis de SGML y XML.En un DTD, la estructura de una clase de documentos se describe con un elemento y una declaración atributo-lista. Las declaraciones de elementos nombran los grupos de elementos disponibles dentro de un documento. Las declaraciones Atributo-lista nombran el grupo de atributos disponibles de cada elemento declarado, incluyendo el tipo de cada valor atributo, si no un explicito grupo de valor(es) valido(s).




Asociando DTDs con documentos


Un DTD esta asociado con un documento de XML vía Document Type Declaration, el cual es una etiqueta que aparece cerca del comienzo de un documento XML. La declaración establece que el documento es una instancia de el tipo definido por la referencia DTD.


Las declaraciones en un DTD estan divididos en subgrupo interno y en un subgrupo externo. Las declaraciones en el subgrupo interno estan situados en la Declaración de tipo de documento (Document Type Declaration) en el documento en si. Las declaraciones en el subgrupo externo están localizadas en el un archivo de texto separado. El subgrupo externo puede hacer referencia a un identificador publico y/o un sistema identificador. Programas para leer documentos podrían no ser requeridos para leer el subgrupo externo.


Ejemplos


Este es un ejemplo de declaración de tipo de documento conteniendo ambos, publico y sistema identificadores:


  • '<'!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  • http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>

Este es un ejemplo de Declaración de tipo de documento que encapsula un subgrupo interno que consiste en una entidad declaración:


  • '<'!DOCTYPE foo [ ]>
  • '<'!DOCTYPE bar [ ]>

Todos los documentos HTML 4.01 se espera que conformen uno de estos 3 DTDs de SGML. Los identificadores publicos de estos DTDs son constantes y son como los siguientes:


  • -//W3C//DTD HTML 4.01//EN
  • -//W3C//DTD HTML 4.01 Transitional//EN
  • -//W3C//DTD HTML 4.01 Frameset//EN

Los sistemas identificadores de estos DTDs, si se presentan en la Declaración de tipo de documento, serán referencias URL. Los sistemas identificadores pueden variar, peor se espera que señalen un grupo de declaraciones especifico en una locacion.


Ejemplo de XML DTD


Un ejemplo muy simple de un XML DTD para describir una lista de personas:


  • '<'!ELEMENT people_list (person*)>
  • '<'!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)>
  • '<'!ELEMENT name (#PCDATA)>
  • '<'!ELEMENT birthdate (#PCDATA)>
  • '<'!ELEMENT gender (#PCDATA)>
  • '<'!ELEMENT socialsecuritynumber (#PCDATA)>

Tomando linea por linea, dice:


  1. people_list es un nombre elemento valido, y una instancia de dicho elemento contiene cualquier numero de elementos de personas. El * denota que pueden ser 0 o mas elementos de personas dentro de el elemento people_list.
  2. person es un nombre elemento valido y una instancia de dicho elemento contiene un elemento llamado name, seguido de un nombre birthdate (*opcional) y después gender (también opcional) y socialsecuritynumber (también opcional). La ? indica que un elemento opcional. La referencia del elemento name no tiene ? así que el elemento persona debe contener un elemento name.
  3. name es un nombre válido del elemento, y una instancia de dicho elemento contiene los datos de carácter parseable (#PCDATA).
  4. birthdate es un nombre válido del elemento, y una instancia de dicho elemento contiene un dato carácter.
  5. gender es un nombre válido del elemento, y una instancia de dicho elemento contiene un dato carácter.
  6. socialsecuritynumber es un nombre válido del elemento, y una instancia de dicho elemento contiene un dato carácter.

Un ejemplo de un archivo XML el cual usa y conforma las indicaciones DTD. Este asume el DTD es identificable por la referencia URI "ejemplo.dtd".



'<'!DOCTYPE people_list SYSTEM “example.dtd”>

'<'people_list>

 '<'person>
'<'name>Fred Bloggs'<'/name>        
'<'birthdate>27/11/2008'<'/birthdate>        
'<'gender>Male       
'<'/person>   

'<'/people_list>;



EJEMPLO DE INFORMACION BANCARIA EXPLICACION DETALLADA


Aquí se muestra una parte de una DTD de ejemplo de un documento de información bancaria:


'<'!DOCTYPE banco [     
'<'!ELEMENT banco ( (cuenta |cliente| impositor)+)›
'<'!ELEMENT cuenta ( número-cuenta nombre-sucursal saldo )>      
'<'!ELEMENT cliente ( nombre-cliente calle-cliente ciudad-   cliente )>     
'<'!ELEMENT impositor ( nombre-cliente número-cuenta )>     
'<'!ELEMENT número-cuenta ( #PCDATA )>     
'<'!ELEMENT nombre-sucursal ( #PCDATA )>          
'<'!ELEMENT saldo( #PCDATA )>          
'<'!ELEMENT nombre-cliente( #PCDATA )>          
'<'!ELEMENT calle-cliente( #PCDATA )>          
'<'!ELEMENT ciudad-cliente( #PCDATA )>     
] > 

Cada declaración está en la forma de una expresión normal para los subelementos de un elemento. Así, en la DTD del ejemplo anterior un elemento bancario consiste en uno o más elementos cuenta, cliente o impositor; el operador | especifica «o» mientras que el operador + especifica «uno o más». Aunque no se muestra aquí, el operador * se usa para especificar «cero o más» mientras que el operador ? se usa para especificar un elemento opcional (es decir, «cero o uno»).


El elemento cuenta se define para contener los subelementos número-cuenta, nombre-sucursal y saldo (en ese orden). De forma similar, cliente e impositor tienen los atributos en su esquema definidos como subelementos.


Finalmente, se declara a los elementos número-cuenta, nombre-sucursal, saldo, nombre-cliente, calle-cliente y ciudad-cliente del tipo #PCDATA. La palabra clave #PCDATA indica dato de texto; deriva su nombre históricamente de parsed character data (datos de caracteres analizados). Otros dos tipos especiales de declaraciones son empty (vacío), que dice que el elemento no tiene ningún contenido, y any (cualquiera), que indica que no hay restricción sobre los subelementos del elemento; es decir, cualquier elemento, incluso los no mencionados en la DTD, puede ser subelemento del elemento. La ausencia de una declaración para un subelemento es equivalente a declarar explícitamente el tipo como any.


Los atributos permitidos para cada elemento también se declaran en la DTD. Al contrario que los subelementos no se impone ningún orden a los atributos. Los atributos se pueden especificar del tipo CDATA, ID, IDREF o IDREFS; el tipo CDATA simplemente dice que el atributo contiene datos de caracteres mientras que los otros tres no son tan sencillos; se explicarón detalladamente en breve. Por ejemplo, la siguiente línea de una DTD especifica que el elemento cuenta tiene un atributo del tipo tipo-cuenta con valor predeterminado corriente.


 '<'!ATTLIST cuenta tipo-cuenta CDATA «corriente» >  

Los atributos siempre deben tener una declaración de tipo y una declaración predeterminada. La declaración predeterminada puede consistir en un valor predeterminado para el atributo o #REQUIRED, queriendo esto decir que se debe especificar un valor para el atributo en cada elemento, #IMPLIED, lo que significa que no se ha proporcionado ningún valor predeterminado. Si un atributo tiene un valor predeterminado, para cada elemento que no tenga especificado un valor para el atributo el valor se rellena automáticamente cuando se lee el documento XML.


Un atributo del tipo ID proporciona un identificador único para el elemento; un valor que tiene un atributo ID de un elemento no debe estar presente en ningún otro elemento del mismo documento. A lo sumo se permite que el atributo de un elemento sea del tipo ID.


Un atributo del tipo IDREF es una referencia a un elemento; el atributo debe contener un valor que aparezca en el atributo ID de algún elemento en el documento. El tipo IDREFS permite una lista de referencias, separadas por espacios.


En el siguiente ejemplo se muestra una DTD de ejemplo en la que las relaciones de la cuenta de un cliente se representan mediante los atributos ID e IDREFS en lugar de los registros impositor:


'<'!DOCTYPE banco-2 [     
'<'!ELEMENT cuenta ( sucursal, saldo )>          
'<'!ATTLIST cuenta     
número-cuenta ID #REQUIRED     
tenedores IDREFS #REQUIRED >     
'<'!ELEMENT cliente ( nombre-cliente, calle-cliente,ciudad-cliente )>          
'<'!ATTLIST cliente       
cliente-id ID #REQUIRED
cuentas IDREFS #REQUIRED >      
· · · declaraciones para sucursal, saldo, nombre-cliente,  
calle-cliente y ciudad-cliente · · ·          
] >  

Estructura XML

Los elementos cliente tienen un nuevo atributo identificador denominado cliente-ID. Además, cada elemento cliente contiene un atributo cuentas del tipo IDREFS, que es una lista de identificadores de las cuentas que posee el cliente. Cada elemento cuenta tiene un atributo tenedores del tipo IDREFS, que es una lista de propietarios de la cuenta.


Los atributos ID e IDREF juegan la misma función que los mecanismos de referencia en las bases de datos orientadas a objetos y las bases de datos relacionales orientadas a objetos permitiendo la construcción de complejas relaciones de datos.


Las definiciones de tipos de documentos están fuertemente conectadas con la herencia del formato del documento XML. Debido a esto no son adecuadas por varios motivos para servir como estructura de tipos de XML para aplicaciones de procesamiento de datos. No obstante, un tremendo número de formatos de intercambio de datos se están definiendo en términos de DTD, puesto que fueron parte original del estándar. Veamos algunas limitaciones de las DTD como mecanismo de esquema.


LIMITACIONES


  • No se pueden declarar el tipo de elementos y atributos de texto individuales. Por ejemplo, el elemento saldo no se puede restringir para que sea un número positivo. La falta de tal restricción es problemática para las aplicaciones de procesamiento e intercambio de datos, las cuales deben contener el código para verificar los tipos de los elementos y atributos.

  • Es difícil usar el mecanismo DTD para especificar conjuntos desordenados de subelementos. El orden es rara vez importante para el intercambio de datos (al contrario que en el diseño de documentos, donde es crucial).

  • Hay una falta de tipos en ID e IDREF. Por ello no hay forma de especificar el tipo de elemento al cual se debería referir una atributo IDREF o IDREFS.


REFERENCIA http://en.wikipedia.org/wiki/Document_Type_Definition


Traducido y agregado por Jose Manuel Villarreal Sanchez, Alumno de ing. Sistemas Computacionales del Instituto Tecnologico de Tijuana.


Links externos para mas informacion http://www.w3schools.com/dtd/default.asp

http://josevillarreal.wordpress.com/2007/10/12/dtd-document-type-definition




Apoyo adicional: Presentacion Power Point

URL de Presentacion http://docs.google.com/TeamPresent?docid=d6z32nx_9ccw52b&skipauth=true


Video del tema


Apoyo Adicional: Audio Video Presentacion Documento

----- CHAT ACERCA DEL TEMA O PUEDES DEJAR UN COMENTARIO



Conoce más acerca del autor: (para ver perfil en orkut debes ingresar tu cuenta google)
Mi Perfil: Orkut My Space
Contáctame por Email: m.villarreal.s@gmail.com ó j.villarreal@live.com.mx

Puedes Contactarme por Skype

Call me!


Nota: Durante la elaboración de este trabajo aprendí un poco más acerca de lo que son los software wiki y herramientas colaborativas, cual es su estructura y como trabajan, también me involucre un poco más en html, que ya tenía un poco conocimiento de él, pero durante el desarrollo de este proyecto aprendí varias cosas nuevas. Y quizá lo más importante que comprendí fue que ya no es suficiente con subir la información con solo texto, ya que los avances en la tecnología nos brindan la opotunidad de subir la información en diversos formatos multimedia que son más atractivos para el usuario y captan más su atención, también al subir información en varios formatos dan la oportunidad a los usuario a comprender mejor el tema expuesto y de manera más sencilla.


Puedes visitar para más informacion
http://josevillarreal.wordpress.com/2007/10/12/dtd-document-type-definition


tu displaytu displaytu displaytu displaytu displaytu displaytu display tu displaytu displaytu displaytu displaytu displaytu display tu displaytu displaytu displaytu displaytu displaytu display

imagen-firefox


Para mejor visualización de la página utiliza Mozilla-firefox descarga gratis AQUI


Google