Element Declaration

  • Notation:

    <!ELEMENT name (content)>
  • Declaring Content:

    • Element has character data children (Parsed Character DATA)

      <!ELEMENT name (#PCDATA)>
    • Empty Element (without child elements and text nodes)

      <!ELEMENT name (EMPTY)>
    • Allow any child-element

      <!ELEMENT name (ANY)>
    • Defines a child element

      <!ELEMENT name (child-name)>
    • Defines an optional child element

      <!ELEMENT name (child-name?)>
    • Defines one or more child elements

      <!ELEMENT name (child-name+)>
    • Defines zero or more child elements

      <!ELEMENT name (child-name*)>
    • Defines a sequence of child elements

      <!ELEMENT name (child1, child2)>
    • Defines a choice of child elements

      <!ELEMENT name (child1 | child2)>
    • Defines Mixed Content

      <!ELEMENT name (child-name | #PCDATA)*>
    • Nesting Elements

      <!ELEMENT name ((child1 | child2)+, child-name | #PCDATA)*>