Технология Microsoft ADO.NET



     Купить дом на кипре еще на сайте. |       

Создание действительных (valid) XML-документов. Определение типа документа (DTD) - часть 4


/p>

Рассмотренные модели содержимого можно дополнять следующими знаками:

+ - один или несколько элементов;

* - ни одного или несколько элементов;

? - ни одного или один элемент.

Следующее объявление означает, что документ может содержать один или несколько элементов NAME и что элемент INFORMATION может не существовать или быть в единственном экземпляре:

... <!ELEMENT TOUR (IDTOUR, NAME+, PRICE, INFORMATION?)> ... <TOUR> <IDTOUR>1</IDTOUR> <NAME>Кипр</NAME> <NAME>Греция(включая Кипр)</NAME> <PRICE>25 000,00р. </PRICE> </TOUR>

Другое объявление означает, что документ может содержать ни одного или несколько элементов IDTOUR, либо элемент NAME, либо элемент PRICE, либо ни одного или один элемент INFORMATION:

... <!ELEMENT TOUR (IDTOUR* | NAME| PRICE | INFORMATION?)> ...

Соответствующие правильные три варианта выглядят следующим образом:

<TOUR> <IDTOUR>1</IDTOUR> <IDTOUR>2</IDTOUR> </TOUR>

<TOUR> <NAME>Кипр</NAME> </TOUR>

<TOUR> </TOUR>

Указанные модели и символы поддерживают сложные образования, образуемые вложением последовательной модели содержимого в выборочную, и наоборот. Примером такого сложного образования может служить следующее объявление:

<!DOCTYPE TOUR [ <!ELEMENT TOUR (IDTOUR, NAME, (PRICE_EURO | PRICE_DOLLAR | PRICE_RUB) )> <!ELEMENT IDTOUR (#PCDATA)> <!ELEMENT NAME (#PCDATA)> <!ELEMENT PRICE_EURO (#PCDATA)> <!ELEMENT PRICE_DOLLAR (#PCDATA)> <!ELEMENT PRICE_RUB (#PCDATA)> ] >

Для него будут верными следующие варианты корневого элемента:

  1. <TOUR> <IDTOUR>1</IDTOUR> <NAME>Кипр</NAME> <PRICE_RUB>25 000,00р. </PRICE_RUB> </TOUR>

  2. <TOUR> <IDTOUR>1</IDTOUR> <NAME>Кипр</NAME> <PRICE_DOLLAR>1000$. </PRICE_DOLLAR> </TOUR>

  3. <TOUR> <IDTOUR>1</IDTOUR> <NAME>Кипр</NAME> <PRICE_EURO>760 _. </PRICE_EURO> </TOUR>




Содержание  Назад  Вперед