DTD - элементы
- В приведенном выше примере указано, что "note" элемент может содержать PCDATA,出现的次数可以是零次或多次、"to"、"from"、"header" или "message". Предыдущая страница
- Следующая страница Атрибуты DTD
В DTD элементы объявляются с помощью элементных声明.
Декларация элемента
В DTD XML-элементы объявляются с помощью элементных声明. Элементные декларации используют следующую грамматику:
<!ELEMENT Элемент_имени Класс>
или
<!ELEMENT Элемент_имени (Содержимое_элемента)>
Пустые элементы
Пустые элементы объявляются с помощью ключевого слова класса EMPTY:
<!ELEMENT Элемент_имени EMPTY>
Указание смешанного содержимого
<!ELEMENT br EMPTY>
Пример XML:
<br />
Элементы, содержащие только PCDATA
Элементы, содержащие только PCDATA, объявляются с помощью #PCDATA в круглых скобках:
<!ELEMENT Элемент_имени (#PCDATA)>
Указание смешанного содержимого
<!ELEMENT from (#PCDATA)>
Элементы с любым содержимым
Элементы, объявленные с помощью ключевого слова класса ANY, могут содержать любую комбинацию интерпретируемых данных:
<!ELEMENT Элемент_имени ANY>
Указание смешанного содержимого
<!ELEMENT note ANY>
Элементы с подэлементами (серии)
Элементы с одним или несколькими подэлементами объявляются через имена подэлементов в круглых скобках:
<!ELEMENT Элемент_имени (Дочерний_элемент_имени 1)>
или
<!ELEMENT Элемент_имени (Дочерний_элемент_имени 1,Дочерний_элемент_имени 2,...)>
Указание смешанного содержимого
<!ELEMENT note (to,from,heading,body)>
Когда подэлементы объявлены в порядке, разделенном запятыми, они должны出现在 документе в том же порядке. В полной декларации подэлементы также должны быть объявлены, и у подэлементов также могут быть подэлементы. Полная декларация элемента 'note':
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
Утверждение о том, что элемент должен出现 только один раз
<!ELEMENT Элемент_имени (Дочерний_элемент_имени)>
Указание смешанного содержимого
<!ELEMENT note (message)>
В предыдущем примере указано: подэлемент 'message' должен出现 один раз и только в элементе 'note'.
Утверждение о том, что элемент должен出现 хотя бы один раз
Указание смешанного содержимого
<!ELEMENT элемент_имени (подэлемент_имени+)>
<!ELEMENT note (message+)>
В приведенном выше примере плюс указывает на то, что подэлемент message должен出现至少一次 в "note" элементе.
Указание элементов,出现的次数 может быть ноль или несколько
Указание смешанного содержимого
<!ELEMENT элемент_имени (подэлемент_имени*)>
<!ELEMENT note (message*)>
В приведенном выше примере звездочка указывает на то, что подэлемент message может出现零次 или несколько раз в "note" элементе.
Указание элементов,出现的次数 может быть ноль или один
Указание смешанного содержимого
<!ELEMENT элемент_имени (подэлемент_имени?)>
<!ELEMENT note (message?)>
В приведенном выше примере вопросительный знак указывает на то, что подэлемент message может出现零次 или один раз в "note" элементе.
Указание смешанного содержимого
Указание содержимого типа "не.../или..."
<!ELEMENT note (to,from,header,(message|body))>
В приведенном выше примере указано, что "note" элемент должен содержать "to" элемент, "from" элемент, "header" элемент и "message" элемент, который не является "body" элементом.
Указание смешанного содержимого
Пример:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
- В приведенном выше примере указано, что "note" элемент может содержать PCDATA,出现的次数可以是零次或多次、"to"、"from"、"header" или "message". Предыдущая страница
- Следующая страница Атрибуты DTD