Share via


ELEMENT

La instrucción ELEMENT se utiliza para declarar cada elemento que se emplea dentro del tipo de documento definido por DTD. En primer lugar declara el elemento por el nombre y, a continuación, especifica el contenido permitido para el elemento.

Sintaxis

<!ELEMENT  name  content >

Parámetros

  • nombre
    Nombre del elemento. Es necesario utilizar el tipo de letra mayúscula o minúscula exacto.
  • contenido
    El modelo de contenido permitido para el elemento, que debe ser uno de los siguientes:

    • ANY: se permite cualquier contenido dentro del elemento. Cuando se utiliza en una declaración de elemento, esta palabra clave permite un modelo de contenido abierto y sin limitaciones para los elementos y cualquiera de sus nodos secundarios.

    • EMPTY: el elemento no puede tener contenido y debe permanecer vacío.

    • Declared content rule: para esta opción debe escribir una regla de contenido y encerrarla entre paréntesis.

      La siguiente tabla muestra las palabras claves o símbolos de puntuación reservados que se pueden utilizar junto con los nombres de otros elementos que están declarados en DTD para construir la regla de contenido del elemento.

      Símbolos Descripción

      #PCDATA

      Permite datos de caracteres analizados como parte del contenido del elemento.

      nombre

      El nombre de un elemento Puede ser el elemento que se está definiendo u otros elementos definidos por el nombre de DTD, utilizando declaraciones ELEMENT adicionales.

      Si no hay otros símbolos o marcadores de puntuación en la regla de contenido, se permite y precisa una sola aparición del elemento con nombre.

      ()

      Aunque se necesita al menos un conjunto de paréntesis, cuando se declara un modelo de contenido para un elemento, puede anidar conjuntos adicionales de paréntesis. Esta técnica puede utilizarse para definir un modelo de contenido más complejo para un elemento.

      |

      Se puede utilizar una barra vertical para separar dos elementos con nombre. Cuando se usa, indica que cualquier elemento (es decir, el que está antes de la barra o el que está después) puede aparecer como elemento secundario.

      ,

      La coma puede utilizarse para separar dos elementos con nombre o reglas anidadas. Cuando se utilizan, indica que los elementos o las reglas deben aparecer en el orden especificado.

      ?

      El signo de interrogación puede utilizarse como sufijo u operando. Cuando se utiliza, indica que el elemento o la regla que precede es opcional, pero si se utiliza puede aparecer una sola vez en este momento de la estructura del documento XML.

      +

      El signo más pude utilizarse como sufijo u operando. Cuando se utiliza, indica que el elemento o la regla que precede es obligatoria y puede aparecer más de una vez en este momento de la estructura del documento XML.

      *

      El asterisco puede utilizarse como sufijo u operando. Cuando se utiliza, indica que el elemento o la regla que precede es opcional y puede aparecer más de una vez en este momento de la estructura del documento XML.

Ejemplos

  • Declara un elemento <test> que incluye cualquier contenido:

    <!ELEMENT  test  ANY  >
    
  • Declara un elemento <Image> que debe estar vacío (es decir, no puede tener contenido):

    <!ELEMENT  Image  EMPTY  >
    
  • Declara un elemento <title> que solo puede contener datos de caracteres (no puede incluir ningún otro elemento de marcado):

    <!ELEMENT  title  (#PCDATA)  >
    
  • Declara un elemento <fruit> que contiene un elemento <apple> o un elemento <orange>:

    <!ELEMENT  fruit  (apple|orange)  >
    
  • Declara un elemento <book> que debe contener un elemento <author> seguido de un elemento <title>:

    <!ELEMENT  book  (author,title)  >
    
  • Declara un elemento <memo> que debe contener un elemento <body> que puede estar seguido de un elemento <postscript>:

    <!ELEMENT  memo  (body,postscript?)  >
    
  • Declara un elemento <catalog> que debe contener al menos un elemento <book>:

    <!ELEMENT  catalog  (book+)  >
    
  • Declara un elemento <table> que puede estar vacío o contener elementos <rowset>:

    <!ELEMENT  table  (rowset*)  >
    

Vea también

Conceptos

ATTLIST (Lista de atributos)
ENTITY
NOTATION