Следующий элемент Документ, однако, не будет валидным, поскольку порядок дочерних элементов не соответствует объявленному:
<MOUNTAIN> <!-- Неправильный элемент! --> <STATE>New Mexico</STATE> <NAME>Wheeler</NAME> <HEIGHT>13161</HEIGHT> </MOUNTAIN>
Пропуск дочернего элемента или использование одного и того же типа дочернего элемента более одного раза также недопустимо. Как вы видите, это достаточно строгий вид объявления.
<!DOCTYPE FILM [ <!ELEMENT FILM (STAR | NARRATOR | INSTRUCTOR)> <!ELEMENT STAR (#PCDATA)> <!ELEMENT NARRATOR (#PCDATA)> <!ELEMENT INSTRUCTOR (#PCDATA)> ] >
Следовательно, следующий элемент Документ будет валидным:
<FILM> <STAR>Robert Redford</STAR> </FILM>
как и элемент:
<FILM> <NARRATOR>Sir Gregory Parsloe</NARRATOR> </FILM>
а также элемент:
<FILM> <INSTRUCTOR>Galahad Threepwood</INSTRUCTOR> </FILM>
Следующий элемент Документ не будет валидным, поскольку вы можете включить только один из дочерних элементов:
<FILM> <!-- Неправильный элемент! --> <NARRATOR>Sir Gregory Parsloe</NARRATOR> <INSTRUCTOR>Galahad Threepwood</INSTRUCTOR> </FILM>
Вы можете изменить любую из этих форм модели содержимого, используя символы: знак вопроса (?), знак плюс (+) и звездочка (*), значения которых описаны в следующей таблице:
? | Ни одного или один из предшествующих элементов |
+ | Один или более из предшествующих элементов |
* | Ни одного или более из предшествующих элементов |
Например, следующее объявление означает, что вы можете включить один или более дочерних элементов NAME, и что дочерний элемент HEIGHT является не обязательным: