Электронный магазин на Java и XML


Спецификация содержимого - часть 2


  • * — элемент может встретиться любое количество раз или не встретиться вовсе.

  • Ниже снова приведено объявление элемента mymemoirs, переписанное с использованием операторов повторяемости:

    <!ELEMENT mymemoires (title, author, philosophizing+,

    sad_story*, funny_story*,

    lesson*, conclusion)>

    Вы также можете указать, что некоторые элементы могут появиться как альтернатива другим элементам (то есть что между ними нужно делать выбор) с помощью вертикальной черты (|):

    <!ELEMENT mymemoires (title, author, philosophizing+,

    sad_story*, funny_story*,

    lesson+| conclusion)>

    В этом объявлении элемент mymemoirs может содержать один или более элементов lesson или conclusion, но не оба одновременно. Еще более сложные правила можно создавать с использованием вложенных скобок. В листинге 1.4 показано, как может выглядеть определение mymeroirs.dtd [Paragraph - абзац, letter — письмо. — Примеч. перев. ].

    Листинг 1.4. Полная версия определения mymeroirs.dtd

    <!ELEMENT mymemoirs (title, author, philosophizing*,

    sad_story*, funny_story*,

    (lesson+ | conclusion)*)>

    <!ELEHENT title (#PCDATA)>

    <!ELEMENT author (#PCDATA)>

    <!ELEMENT philosophizing (paragraph)*>

    <!ELEMENT sad_story (paragraph*, letter*, (lesson | conclusion)*)>

    <!ELEMENT funny_story (paragraph*, letter*.

    (lesson | conclusion)*)>

    <!ELEMENT letter (paragraph)*>

    <!ELEMENT lesson (paragraph)*>

    <!ELEMENT conclusion (paragraph)*>

    <!ELEMENT paragraph (#PCDATA)>

    Наименее строгим является правило, которое можно выразить словами: «подходит что угодно». Если вы хотите указать, что в данном элементе могут появиться любые проверенные символьные данные или элементы, вы должны использовать ключевое слово ANY (любой), как показано в следующем примере:

    <!ELEMENT mymemoirs ANY>

    ПРИМЕЧАНИЕ

    Такое широкое правило, как элемент типа ANY, не вполне вписывается в строгую структуру XML. Вообще говоря, если вы создаете определение DTD, в котором используется ключевое слово ANY, вы, вероятно, делаете ошибку и вам следует поискать лучший способ определения.




    - Начало -  - Назад -  - Вперед -



    Книжный магазин