Более внимательный взгляд на теги
Теги следуют очень строгим правилам именования. Теги могут быть любой длины, указываются с учетом регистра, могут содержать любые цифровые или буквенные символы, дефисы (-), знаки подчеркивания (_) и точки (.). Другие специальные символы, в том числе пробелы, применять нельзя, и имя тега должно начинаться с буквы или знака подчеркивания. 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.