Perl для системного администрирования



              

XML требователен Несмотря на гибкость - часть 2


В текущей спецификации XML используется DTD (Document Type Definition, определение типа документа), основа SGML. Вот небольшой пример кода из спецификации XML, в котором определение типа находится в начале самого документа:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE greeting [

<!ELEMENT greeting (SPCDATA)>

]>

<greeting>Hello. world!</greeting>

В первой строке примера задается версия XML и применяемая кодировка для документа (в данном случае это Unicode). Следующие три строки определяют типы данных из этого документа. В последней строке приводится сам документ (элемент <greeting>).

При желании определить способ, с помощью которого подтверждалась бы правильность кода <machine> в первом примере из начала приложения, следовало бы добавить в начало файла нечто подобное:

<?xml version="1.О" encoding="UTF-8" ?> <!DOCTYPE machines [

<!ELEMENT machine (name,department, room,owner,ipaddress)>

<!ELEMENT name (#PCDATA)>

<!ELEMENT department (#PCDATA)>

<!ELEMENT room (#PCDATA)>

<!ELEMENT owner (#PCDATA)>

<!ELEMENT ipaddress (#PCDATA)> ]>

Это определение требует, чтобы данные, соответствующие машине, состояли бы из элементов name, department, room, owner и ipaddress (именно в таком порядке). Каждый из этих элементов описывается как PCDATA (см. раздел «Пережитки» в конце данного приложения).

В другом популярном предложении, которое пока не является спецификацией, рекомендовано в DTD-подобных целях использовать описания данных под названием схемы (schemas). Сами схемы пишутся на XML. Вот пример кода схемы, использующей реализацию от Microsoft с http://www.w3.org/TR/1998/ NOTE-XML-data/:

<9XML version '1.0 ?> <schema id= 1Mac"i"eSchlea'

x'iHrs="i;r"r' schemtis-niicrcsof!

<!-определяем типы элементов (з;.:е они являются просто строками/PCDATA)

<strng/> </elementType> <elementType id="departnie'iT" .>




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