Diferencia entre revisiones de «Usuario:Lmorillas/modulo lenguajes de marcas/xml/dtd»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con '{{MiTitulo| DTD}} == DTD == === Funciones de un DTD ===* * Validar documentos * Dar valores por defecto a atributos que no existen * Declarar y reemplazar entidades * Documentar…')
 
Línea 1: Línea 1:
 
{{MiTitulo| DTD}}
 
{{MiTitulo| DTD}}
 
== DTD ==
 
== DTD ==
=== Funciones de un DTD ===*
+
=== Funciones de un DTD ===
 
* Validar documentos
 
* Validar documentos
 
* Dar valores por defecto a atributos que no existen
 
* Dar valores por defecto a atributos que no existen
Línea 47: Línea 47:
 
   <!ELEMENT name (child+)>
 
   <!ELEMENT name (child+)>
 
Se pueden combinar las posibilidades
 
Se pueden combinar las posibilidades
 +
* Elección entre secuencias:
 +
  ((a, b) | (c, d)
 +
* Secuencia de opciones
 +
  ((a | b), (c | d))
 +
* Secuencia opcional
 +
  (a, b, c)?
 +
No se puede mezclar , y | en una lista. Usa paréntesis para desambiguar.
 +
 +
=== Restricciones  ===
 +
Un modelo mixto no puede restringir cuántas veces y el orden en que aparecen los hijos. Sólo los elementos permitidos.
 +
• An element-only content model requires
 +
that each child element in the instance
 +
match exactly one part of the content
 +
model
 +
– (A?, A?) is not a legal content model

Revisión de 04:13 12 ene 2012

DTD

Funciones de un DTD

  • Validar documentos
  • Dar valores por defecto a atributos que no existen
  • Declarar y reemplazar entidades
  • Documentar los documentos.

¿Cómo se introduce?

  • declaración DOCTYPE

¿Dónde?

  • Pueden aparecer dentro del documento xml, fuera o en ambos sitios.
  • Dentro del doc:
<!DOCTYPE root  ... >
  • Fuera del documento:
 <!DOCTYPE root SYSTEM 
        "http://...">
  • Primero lee el externo, depués el interno

Declaraciones ELEMENT

  • Especifican qué pueden contener los elementos
  • No soporte directo de namespaces
  • Los elementos pueden contener:
    • Nada
 <!ELEMENT name EMPTY>
    • Texto
 <!ELEMENT name (#PCDATA)>
    • Texto y nuevos elementos (hijos)
 <!ELEMENT name
  (#PCDATA|elem1|elem2|...)*>
    • Hijos
 <!ELEMENT name
  (elem1|elem2|...)*>

Sintaxis de declaraciones ELEMENT

  • Secuencia de hijos
 <!ELEMENT name (ch1, ch2)>
  • Elección entre hijos
 <!ELEMENT name (ch1|ch2)>
  • Secuencia de hijos opcionales
 <!ELEMENT name
    (ch?, ch2?, ch3?)>
  • Cero o más ...
 <!ELEMENT name (child*)>
  • Uno o más
 <!ELEMENT name (child+)>

Se pueden combinar las posibilidades

  • Elección entre secuencias:
 ((a, b) | (c, d)
  • Secuencia de opciones
 ((a | b), (c | d))
  • Secuencia opcional
 (a, b, c)?

No se puede mezclar , y | en una lista. Usa paréntesis para desambiguar.

Restricciones

Un modelo mixto no puede restringir cuántas veces y el orden en que aparecen los hijos. Sólo los elementos permitidos. • An element-only content model requires that each child element in the instance match exactly one part of the content model – (A?, A?) is not a legal content model