1 Введение в xml



Скачать 300.38 Kb.
страница1/3
Дата03.07.2014
Размер300.38 Kb.
ТипДокументы
  1   2   3

1 Введение в XML


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

1.1 Что такое XML?


XML - это текстовый язык разметки, который быстро становится стандартом для обмена данными в Web. Как и в HTML для определения данных используются теги (идентификаторы, заключенные в угловые скобки - <...>). Совокупность тегов называется разметкой.

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

Примечание: Поскольку идентификация данных происходит по их значению (как их интерпретировать и что необходимо с ними сделать), XML иногда описывается как механизм для определения семантики (значения) данных.

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

Вот пример XML-данных, которые можно использовать в почтовом приложении:


<to>you@yourAddress.com</to>

<from>me@myAddress.com</from>

<subject>XML Is Really Cool</subject>

<text>

How many ways is XML cool? Let me count the ways...

</text>



Примечание: В этом руководстве жирный шрифт используется для выделения текста, на который мы хотим обратить ваше внимание. XML не использует жирный шрифт!

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

И снова, так же как в HTML, пробелы не существенны, так что вы можете форматировать данные для удобства чтения и в то же время легко обрабатывать их в программе.
В отличие от HTML, однако, в XML вы можете легко искать в наборе данных сообщения, содержащие в своей теме слово "cool", поскольку XML-теги идентифицируют содержимое данных, а не их представление.

1.1.1 Теги и атрибуты


Теги могут также содержать атрибуты - дополнительную информацию, включаемую как часть самого тега вовнутрь его угловых скобок. В следующем примере показана структура сообщения электронной почты, использующего атрибуты для полей "to", "from" и "subject":
to="you@yourAddress.com" from="me@myAddress.com"

subject="XML Is Really Cool">



How many ways is XML cool? Let me count the ways...





Как и в HTML, после имени атрибута следуют знак равенства и значение атрибута, а несколько атрибутов разделяются пробелами. Однако, в отличие от HTML, запятые между атрибутами в XML не игнорируются; если они существуют, генерируется ошибка.

Поскольку вы можете создать такую структуру данных как , одинаково хорошо используя как атрибуты, так и теги, принятие решения, какой дизайн лучше подходит для конкретных целей, может потребовать значительных усилий. В разделе "Проектирование структуры XML-данных" приведены некоторые рекомендации, которые помогут вам решить, когда использовать атрибуты, а когда теги.

1.1.2 Пустые теги


Одним из действительно больших различий между HTML и XML является то, что XML-документ всегда обязан быть формально-правильным. Существует несколько правил, которые определяют корректность документа, но одним из самых важных является следующее правило - каждый тег должен иметь завершающий тег. То есть, в XML тег
является обязательным. Элемент никогда не завершается каким-либо тегом, отличным от .

Примечание: Еще одним важным аспектом формально-правильного документа является полная вложенность всех тегов. То есть вы можете записать ......, но никогда не сможете ....... Полный список требований находится в XML Frequently Asked Questions (FAQ) на странице http://www.ucc.ie/xml/#FAQ-VALIDWF. (Этот FAQ находится в списке "Рекомендуется прочитать" организации W3C на htp://www.w3.org/XML/.)

Однако, иногда есть смысл использовать тег, стоящий особняком. Например, вы возможно захотите добавить тег "flag", который помечает важное сообщение. Такой тег не имеет никакого содержимого, и называется "пустым тегом". Вы можете создать пустой тег, закончив его знаками /> вместо >. Например, следующее сообщение содержит такой тег:

subject="XML Is Really Cool">

<flag/>



How many ways is XML cool? Let me count the ways...





Примечание: Пустой тег предохраняет вас от необходимости записи для сохранения корректности документа. Вы можете контролировать, какие теги могут быть пустыми, создав Document Type Definition, или DTD. Через некоторое время мы поговорим об этом. Если DTD не существует, документ может содержать любые типы тегов, какие вы захотите, пока документ остается формально-правильным.

1.1.3 Комментарии в XML-файлах


XML-комментарии выглядят также как и в HTML:

subject="XML Is Really Cool">

<!-Это комментарий -->



How many ways is XML cool? Let me count the ways...




1.1.4 Пролог XML


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


Объявление может также содержать дополнительную информацию, например:


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

version - Идентифицирует используемую версию языка разметки XML. Этот атрибут является обязательным.

encoding - Идентифицирует набор символов, используемый для кодирования данных. "ISO-8859-1" - это набор символов "Latin-1" для языков Западной Европы и Англии. (По умолчанию устанавливается сжатый Unicode: UTF-8.)

standalone - Указывает, ссылается или нет документ на внешнюю сущность или на внешнюю спецификацию типов данных (см. ниже). Если нет внешних ссылок, используется значение "yes".

Пролог может также содержать определения сущностей (элементов, вставляемых тогда, когда вы ссылаетесь на них в документе) и спецификаций, указывающих, какие теги являются разрешенными в документе. Сущности и спецификации объявляются в Document Type Definition (DTD), определяемом непосредственно в прологе, или через указатель на внешние файлы спецификаций. Но это - предмет для дальнейшего изучения в этом руководстве. Более подробная информация об этом и многих других аспектах XML находится в списке "Рекомендуется прочитать" организации htp://www.w3.org/XML/.

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

Все, что следует за XML-прологом, составляет содержимое документа.

1.1.5 Директивы


XML-файл может также содержать директивы, которые передают команды или информацию приложению, обрабатывающему XML-данные. Директивы имеют следующий формат:


где target - имя приложения, которое, как ожидается, будет осуществлять обработку, а instructions - это строка символов, заключающая в себе информацию или команды для обработки приложением.

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

Примечание: Имя "XML" (в любой комбинации строчных или прописных букв) зарезервировано для XML-стандартов. В некотором смысле объявление является директивой, удовлетворяющей стандарту. (Однако, если вы позже будете работать с анализатором, вы увидите, что метод для обработки директив никогда не видит объявления.)

1.2 В чем важность XML?


Существует большое количество причин всеобщего признания XML. В этом разделе перечислены наиболее важные из них.

1.2.1 Обыкновенный текст


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

1.2.2 Идентификация данных


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

1.2.3 Стиль отображения


Когда способ отображения является важным, стандарт таблицы стилей XSL позволяет вам указать, как отобразить данные. Например, таблица стилей для:
you@yourAddress.com

может сказать:

  1. Начать новую строку.

  2. Отобразить "To:" жирным шрифтом с последующим пробелом.

  3. Отобразить данные получателя.

Вот что получится:
To: you@yourAddress

Конечно, вы можете сделать тоже самое и в HTML, но вы не сможете обработать данные программами поиска и программами, извлекающими адреса и т.д. Более важным является то, что, поскольку XML по своей сути не имеет стиля, вы можете использовать совершенно разные таблицы стилей для выполнения вывода в форматах postscript, TEX, PDF или каких-либо новых форматах, которые еще даже не разработаны. Такая гибкость означает то, что один автор описал как "будущая защита" вашей информации. XML-документы, созданные сегодня, могут использоваться в будущих, еще не известных системах доставки документов.

1.2.4 Встроенная возможность многократного использования


Одной из замечательных возможностей XML-документов является возможность их составления из отдельных модулей. Это возможно и в HTML, но только при помощи указания ссылок на другие документы. В отличие от HTML, XML-модули могут быть включены в документ "по месту". Подключенные модули выглядят как нормальные части документа - вы можете производить поиск по всему документу одновременно или загружать его одной частью. Это дает возможность разбивать документ на модули без помощи ссылок. Вы можете отделить модуль так, что редактирование в нем отражается везде, где он используется, а документ, составленный из таких модулей, выглядит для всех состоящим только из одной части.

1.2.5 Связываемость


Благодаря HTML, способность определять связи между документами рассматривается сегодня как необходимость. В следующем разделе этого руководства, "XML и связанные спецификации: освоение алфавитной путаницы", обсуждается программа создания спецификации по ссылкам. Эта программа позволяет вам определять двунаправленные ссылки, многоцелевые ссылки, "расширяющиеся" ссылки (в которых переход по ссылке вызывает появление запрошенной информации в текущем месте документа), и ссылки между двумя существующими документами, определенные в третьем.

1.2.6 Простота обработки


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

1.2.7 Иерархичность


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

1.3 Как можно использовать XML?


Существует несколько основных областей использования XML:

  • Традиционная обработка данных, при которой данные кодируются в XML для обрабатывающей их программы.

  • Основанное на документах программирование, при котором XML-документы являются контейнерами, создающими интерфейсы и приложения из существующих компонентов.

  • Архивация - фундамент основанного на документах программирования, при котором настроенная версия компонента сохраняется (архивируется) для дальнейшего использования.

  • Связывание, при котором DTD или схема, определяющая структуру XML-данных, используется для автоматической генерации значительной части приложения, которое в конечном итоге будет обрабатывать данные.

1.3.1 Традиционная обработка данных


XML быстро становится стандартом, выбираемым для представления информации в Web. Это проявляется еще сильнее при использовании его в соединении с сетевыми программами платформы Java, передающими и принимающими информацию. То есть, приложение клиент/сервер, например, может передавать XML-данные в обоих направлениях между клиентом и сервером.

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

1.3.2 Основанное на документах программирование (DDP)


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

Конечно, для таких компонентов имеет смысл использовать платформу Java. Для создания таких приложений можно использовать и JavaBeans™ для интерфейсов, и JavaBeans™ для бизнес-логики. И хотя ни одно из предпринятых усилий еще не доведено до коммерческого использования, очень много предварительной работы уже сделано.

Примечание: Язык программирования Java также отлично подходит для создания средств обработки XML, которые являются такими же переносимыми, как и XML. Для платформы Java были написаны несколько визуальных редакторов XML. Список редакторов, средств обработки и других XML-ресурсов находится в разделе "Software" SGML/XML Web-страницы, созданной Robin Cover, по адресу http://www.oasis-open.org/cover/.

1.3.3 Связывание


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

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

1.3.4 Архивация


Чашей Святого Грааля в программировании является создание повторно используемых, модульных компонентов. В идеальном случае вы хотели бы взять их с полки, настроить и подключить их для создания приложения, с минимальным дополнительным кодированием и дополнительной компиляцией.

Основной механизм сохранения информации называется архивированием. Компонент архивируется путем записи его в выходной поток в форме, которую можно будет использовать в дальнейшем. Потом можно будет прочитать его и создать экземпляр, используя сохраненные параметры. (Например, если вы сохранили элемент таблицы, его параметрами могут быть количество строк и столбцов для отображения.) Архивированные компоненты можно перемещать по Web и использовать множеством способов.

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

Текстовый формат XML может также облегчить передачу объектов между приложениями, написанными на разных языках. По всем этим причинам основанное на XML архивирование возможно будет иметь большое распространение в не таком уж далеком будущем.

1.3.5 Итог


XML является довольно простым и очень гибким языком разметки. Он имеет много применений, которые еще должны быть открыты - мы только начинаем использовать его потенциал. Он является фундаментом для многих грядущих стандартов, обеспечивая общий язык, который могут использовать различные компьютерные системы для обмена данными друг с другом. Как только каждая отраслевая группа выйдет со своими стандартами, компьютеры начнут связываться друг с другом способами, которые раньше трудно было бы представить.
  1   2   3

Похожие:

1 Введение в xml iconЭлектронная цифровая подпись. Формат xml-эцп
Эцп используется для представления электронной цифровой подписи в документах формата xml. Xml-эцп формируется в рамках Рекомендации...
1 Введение в xml iconЛабораторная работа №4 Использование xml и среды Axis2 для создания клиент-сервисного взаимодействия
Служебная информация документа xml заключается в теги. Первый тег описывает версию xml
1 Введение в xml iconСправочник Web-мастера xml санкт-Петербург Изд-во "бхв-петербург"
Интернете и wap-ресурсах. Описание сопровождается большим количеством примеров. Дополнительно включены официальное спецификации xml,...
1 Введение в xml iconСвободная лицензия на использование xml схем компании «Эскорт»
Разрешается модификация xml схем в виде прямой модификации исходных файлов. Разрешается создание собственных xml схем используя включение...
1 Введение в xml iconСтандарты платформы xml и базы данных
Особое внимание уделяется проблемам интеграции технологий xml и баз данных. Оцениваются перспективы xml-платформы
1 Введение в xml iconXml-схема, используемая для формирования xml-документа кадастрового плана территории, если такой документ представляется в электронной форме
Данные выписок в электронном виде представляются в виде файлов формата xml в кодировке ansi (Windows-1251)
1 Введение в xml iconЭлектронные документы (электронные образы документов), представляемые с запросом, в том числе доверенности, направляются в виде файлов в одном из указанных форматов: pdf, tif, xml
Документы, в виде которых предоставляются сведения, а также запросы, если такие документы и запросы представляются в электронной...
1 Введение в xml iconCвязывание данных является первым из методов отображения xml-документа с традиционной html-страницы, с которым вы познакомитесь
Отображение xml с html-страниц дает вам возможность воспользоваться как преимуществами хранения данных в xml-документе, с его гибким...
1 Введение в xml iconТехнологии работы с xml
Собственно, расширяемый язык разметки. Xml очень похож на html за некоторыми исключениями
1 Введение в xml iconФункциональные возможности и направления использования стандартов платформы xml
Обсуждаются основные направления использования стандартов платформы xml, особенности зарождающейся технологии баз данных xml, оцениваются...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org