На профессиональном уровне. Более внимательный взгляд на теги

Более внимательный взгляд на теги

Теги следуют очень строгим правилам именования. Теги могут быть любой длины, ука­зываются с учетом регистра, могут содержать любые цифровые или буквенные симво­лы, дефисы (-), знаки подчеркивания (_) и точки (.). Другие специальные символы, в том числе пробелы, применять нельзя, и имя тега должно начинаться с буквы или знака подчеркивания. XML-документы также поддерживают символы, не включенные в анг­лийский алфавит.

Самое важное, что вам следует понять о тегах, состоит в том, что создание тегов — ваша задача. Если нужно хранить список имен, можно создать XML-формат, который ис­пользует тег <Name>. Одновременно кто-то еще может решить отслеживать фамилию, имя и отчество с помощью другого XML-формата, использующего такие элементы, как <firstName> и <lastName>. В этих элементах может храниться та же информация, что и в вашем элементе <Name>, но они отличаются, и документ, написанный с использова­нием тегов <f irstName> и <lastName>, несовместим с вашими документами.

Поскольку существует так много возможных XML-форматов, множество умных людей потратили уйму времени и энергии на попытки создать варианты определения разных XML-форматов и управления ими. Компании и организации также собрались вместе для определения специальных XML-стандартов для разных отраслей. Если поискать в Интернете, можно найти заранее определенные форматы для юридических, научных, касающихся недвижимости и многих других документов.

Вложенность

Пока вы видели примеры XML-элементов, содержащих текст. Можно также создать эле­мент, содержащий один или несколько других элементов. Это основной принцип организа­ции информации в языке XML.

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

<Name>Lisa Chen</Name>

<Age>19</Age>

<Name>Bill Harrison</Name>

<Age>48</Age>

Лучше было бы сгруппировать элементы <Name> и <Age> для каждого человека и помес­тить их в другой элемент, например, так:

<Person>

<Name>Lisa Chen</Name>

<Age>19</Age> </Person>

<Person>

<Name>Bill Harrison</Name>

<Age>48</Age> </Person>

В этом примере приведены два элемента <Person>, каждый из которых содержит сведе­ния о конкретной персоне. Информация об отдельном человеке хранится в элементах <Name> и <Аgе>, вложенных в соответствующий элемент <Person>.

Не существует ограничений на количество уровней вложенности данных, что делает этот метод организации информации чрезвычайно гибким. На самом деле это одна из состав­ляющих, которые обеспечивают языку XML возможность работы с множеством различных типов данных.

В языке XML установлено еще одно правило. Каждый документ должен начинаться единственным элементом, следующим непосредственно за прологом. Все остальное содер­жимое помещается в этот элемент, который называется корневым элементом или элементом документа. Виденные вами до настоящего момента примеры были лишь выдержками из XML-документа. В следующем далее листинге показан полный, хорошо оформленный XML-документ — список с данными о двух людях, — который начинается с элемента доку­мента <PeopleList>:

<?xml version="1.0".?>

<PeopleList>

<Person>

<Name>Lisa Chen</Name>

<Age>19</Age> </Person>

<Person>

<Name>Bill Harrison</Name>

<Age>48</Age> </Person> </PeopleList>

Этот документ можно усовершенствовать, добавив дополнительные элементы <Person> или другие элементы, позволяющие отслеживать дополнительные сведения о каждом чело­веке.

Возможно, вы заметили, что в приведенных примерах XML у элементов разных уровней различные отступы. Такое оформление облегчает чтение всей структуры, но не является обязательным требованием. На самом деле приложения, читающие XML-файлы (включая программу Access), игнорируют все пустое пространство между элементами, поэтому встав­ленные пробелы, табуляции и пустые строки не играют никакой роли. В действительности с

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

<?xml version="1.0" ?>

<PeopleListXPerson><Name>Lisa Chen</Name><Age>19</ AgeX/Person><Person><Name>Bill Harrison</Name><Age>48 </Agex/Person></PeopleList>

Файлы и схемы XML

Как вы уже узнали, XML-документы можно хранить в файле. Но так же легко их можно поместить и в БД или другие места внешней памяти. В реальной жизни иногда XML-данные не сохраняются нигде — пользователи применяют их для обмена информацией между при­ложениями через Интернет. Но если XML-данные используются в программе Access, всегда применяются XML-файлы (если ваша компания не создала пользовательское решение с помощью мощных средств программирования в Access).

У большинства XML-файлов расширение xml. Например, самое разумное — взять доку­мент со списком людей, показанный ранее, и поместить его в текстовый файл, названный PersonList.xml.

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

Для применения схемы нужно просто иметь ее копию в файле. (Сами по себе схемы сложны и уродливы и не относятся к первостепенным вещам, которые должны и хотят изу­чать сотрудники типичного офиса.) Обычно у файлов со схемами расширение xsd.

Примечание

Для более полного введения в язык и схемы XML познакомьтесь с отличным интерактивным руководством, предлагаемым компанией W3 Schools, на сайте www.w3schools.com/xml.

Наши рекомендации