Выбрать главу

Как и HTML, XML является независимым от платформы промышленным стандартом. Полные спецификации XML и связанных с ним языков доступны на официальной странице консорциума W3C — World Wide Web Consortium по адресу http://www.w3c.org/xml.

Внешне XML-документ похож на HTML-документ, т.к. XML-элементы также описываются с помощью тегов, т.е. ключевых слов. Однако, в отличие от HTML, в XML пользователь может создавать собственные элементы, поэтому набор тегов не является заранее предопределенным. Еще раз повторим, что теги XML определяют структурированную информацию и, в отличие от тегов HTML, не влияют на то, как браузер отобразит эту информацию. Ниже перечислены несколько основных правил формирования корректного XML-документа:

□ документ XML состоит из элементов разметки (markup) и непосредственно данных (content);

□ все XML-элементы описываются с помощью тегов;

□ в заголовке документа с помощью специальных тегов помещается дополнительная информация (используемый язык разметки, его версия и т.д.);

□ каждый открывающий тег, который определяет область данных, должен иметь парный закрывающий тег (в HTML некоторые закрывающие теги можно опускать);

□ в XML, в отличие от HTML, учитывается регистр символов;

□ все значения атрибутов, используемых в определении тегов, должны быть заключены в кавычки;

□ вложенность элементов в документе XML строго контролируется.

Рассмотрим теперь структуру и синтаксис WS-файлов, использующих схему WS XML.

Схема WS XML

Синтаксис элементов, составляющих структуру WS-файла, в общем виде можно представить следующим образом:

<element [attribute1="value1" [attribute2="value2" ... ]]>

 Содержимое (content)

</element>

Открывающий тег элемента состоит из следующих компонентов:

□ открывающей угловой скобки "<";

□ названия элемента, написанного строчными буквами;

□ необязательного списка атрибутов со значениями (названия атрибутов пишутся строчными буквами, значения заключаются в двойные кавычки);

□ закрывающей угловой скобки ">".

Например, тег начала элемента

<script language="JScript">

имеет имя тега script и определяет атрибут language со значением "JScript". Атрибуты предоставляют дополнительную информацию о соответствующем теге или последующем содержимом элемента. В нашем примере атрибут указывает на то, что содержимым элемента является текст сценария на языке JScript.

Закрывающий тег элемента состоит из следующих компонентов:

□ открывающей угловой скобки "<";

□ символа "/";

□ названия элемента, написанного строчными буквами;

□ закрывающей угловой скобки ">".

Таким образом, тег конца элемента не имеет атрибутов, например, </script>.

Если у элемента нет содержимого, то он имеет следующий вид:

<element [attribute1="value1" [attribute2="value2" ... ]]/>

To есть в этом случае элемент состоит из следующих компонентов:

□ открывающей угловой скобки "<";

□ названия элемента, написанного строчными буквами;

□ необязательного списка атрибутов со значениями (названия атрибутов пишутся строчными буквами, значения заключаются в двойные кавычки);

□ символа"/";

□ закрывающей угловой скобки ">".

Пример такого элемента:

<script language="JScript" src="tools.js"/>

Представленная в листинге 3.1 схема WS XML — это модель данных, определяющая элементы и соответствующие атрибуты, а также связи элементов друг с другом и возможную последовательность появления элементов. Также эта схема может задавать значения атрибутов по умолчанию.

Листинг 3.1. Схема WS XML

<?xml version="1.0" standalone="yes"?>

<package>

 <job [id="JobID"]>

  <?job debug="true|false"?>

  <runtime>

   <named name="NamedName" helpstring="HelpString" type="string|boolean|simple" required="true|false" />

   <unnamed name="UnnamedName" helpstring="HelpString" many="true|false" required="true|false" />