Главная |
страница 1
Введение в XML XML (eXtensible Markup Language) - расширяемый язык разметки. Основное внимание в XML сосредоточено на данных. В XML структурная разметка данных и представление данных строго разделены. Основные причины создания XML:
XML является метаязыком - специальным языком, на котором можно составить полное описание класса других языков, на которых, в свою очередь, составляются документы. Он представляет собой набор правил, позволяющих создавать приложения и подмножества данных, уникальные для их задач. Каждый документ XML должен начинаться с пролога, указывающего версию используемого языка XML и метод кодировки, например: В примере 1 приведена служебная записка (memo), состоящая из получателя (recipient) и сообщения (message). Пример 1 Иванов M. Командировка отменяется. Подготовьте материалы. Это пример документа XML без разметки представления. Структура записки отражает структуру хранящихся в ней данных. О представлении данных на экране в ней пока что ничего нет. Для создания представления автор должен применить какой-либо метод наложения стилей, например CSS (Cascading Style Sheets - каскадные листы стилей) или XSLT (eXtensible Stylesheet Language Transformations - расширяемый язык преобразования листов стилей). У многих Web-дизайнеров возникают определенные трудности в связи с абстрактностью XML и произвольным использованием его методов. Однако в действительности XML - это весьма логичная и хорошо организованная технология. Он имеет четкий синтаксис, вынуждающий строго придерживаться определенных правил. Хоть это и не то, к чему привыкли Web-дизайнеры, однако преимущества соблюдения строгих правил весьма велики. Как язык разметки Web-документов XML обладает следующими достоинствами.
С первого взгляда на XML становится очевидно, что он способен полностью заменить HTML как средство разметки Web-страниц. В свое время при появлении XML его даже называли "убийцей HTML". XML позволяет расширять множество тегов. Вместо вставки специальных тегов или комментариев, объясняющих назначение конкретного поля, имя поля само может быть информативным как для приложений, так и для человека. Например, прайс-лист на HTML: Пример 2
На XML этот же прайс-лист можно сделать понятным, не прибегая к комментариям. Весьма информативным описанием элементов могут служить их имена, при этом имена на русском вполне допустимы (если указана соответствующая кодировка): На стороне клиента XML способен предоставить разработчикам Web огромные возможности. Поддержку XML содержат браузеры Microsoft Internet Explorer версии 5.0 и выше, а также Netscape Navigator версии 6.0 и выше. Однако даже если во все браузеры будет включена полная поддержка XML, все же останутся некоторые проблемы:
Начинать изучение XML следует с применения уже полученных знаний о HTML. XML, как и HTML, является языком тегов и атрибутов. В XML, как и в HTML, содержание элемента окружено парой тегов - открывающим и закрывающим. Однако, в XML имена тегов рекомендуется делать более информативными: Текст заголовка<�заголовок>Текст заголовка</заголовок>В отличие от HTML в XML:
XML -->
Описание на языке XML представляет собой операторы, написанные с соблюдением определенного синтаксиса. Когда вы создаете XML-документ, то вместо использования ограниченного набора определенных элементов вы имеете возможность создавать ваши собственные элементы и присваивать им любые имена по вашему выбору – именно поэтому язык XML является расширяемым (extensible). Следовательно, вы можете использовать XML для описания практически любого документа, от музыкальной партитуры до базы данных. Например, вы можете описать перечень книг, подобно представленному в следующем XML-документе. Mark Twain mass market paperback 298 $5.49 Herman Melville trade paperback 605 $4.95 Nathaniel Hawthorne trade paperback 253 $4.25 Примечание. Для описания базы данных в XML предусмотрена возможность работы с несколькими форматами (например, формат .mdb Access или .dbf dBase): язык XML построен на принципе открытых и доступных стандартов. Имена элементов в XML-документе (такие как INVENTORY, BOOK и TITLE в приведенном выше примере) не являются определениями языка XML. Вы всего лишь назначаете эти имена при создании определенного документа. Для ваших элементов вы можете выбирать любые корректно заданные имена ( LIST вместо INVENTORY, либо ITEM вместо BOOK ). Совет. Когда вы присваиваете имена в XML-документе, старайтесь делать их по возможности наиболее информативными. Одним из преимуществ XML-документа является то, что каждому фрагменту информации может быть присвоено информативное описание. В предыдущем примере XML-документ имеет иерархическую структуру в виде дерева с элементами, вложенными в другие элементы, и с одним элементом верхнего уровня (в нашем примере – INVENTORY ) – он носит название элемент Документ или корневой элемент, – который содержит все другие элементы. Структуру описанного в примере документа можно представить, как показано на рисунке 1.3. Рис. 1.3. Таким образом, с помощью XML вы можете описать иерархическую структуру документа, такого как книга, содержащего части, главы и разделы. Создание XML-документов Поскольку в XML нет типовых элементов, может показаться, что в нем вообще отсутствуют какие-либо стандарты. Тем не менее, язык XML имеет строго определенный синтаксис. Например, в отличие от HTML, каждый элемент XML должен содержать начальный и конечный тег (либо специальный пустой тег, о котором пойдет речь в последующих лекциях). Любой вложенный элемент должен быть полностью определен внутри элемента, в состав которого он входит. На деле гибкость в создании ваших собственных элементов требует строгого соблюдения синтаксиса. Это обусловлено тем, что структура XML-документов должна быть понятной для программы, которая обрабатывает и отображает информацию, содержащуюся в этих документах. Строгий синтаксис придает XML-документу предсказуемую форму и облегчает написание программы обработки. Основное назначение языка XML – облегчить работу с документами в Web. Во второй части курса будут затронуты вопросы создания XML-документов в соответствии с синтаксическими правилами. Вы узнаете, как создавать XML-документ, удовлетворяющий одному из двух уровней синтаксических ограничений. В зависимости от уровня соответствия стандартам документ может быть "верно сформированным" ("well-formed") либо "валидным" ("valid"). Отображение XML-документов При отображении HTML-страницы браузер определяет, что элемент Н1, например, является заголовком верхнего уровня, и отображает его в соответствующем формате. Это определяется тем, что данный элемент является частью HTML-стандарта. Но каким образом браузер либо другая программа определяет, как обрабатывать и отображать элементы созданного вами XML-документа (такого как BOOK или BINDING в нашем примере), если вы сами составили эти элементы? Есть три основных способа сообщить браузеру (в частности, Microsoft Internet Explorer 5), как обрабатывать и отображать каждый из созданных вами XML-элементов. (Подробнее об этом будет рассказано в 3 части.)
Стандартные XML-приложения Вы можете использовать XML не только для описания отдельного документа. Индивидуальный пользователь, компания или комитет по стандартам может определить необходимый набор элементов XML и структуру документа, которые будут применяться для особого класса документов. Подобный набор элементов и описание структуры документа называют XML-приложением или XML-словарем. Например, организация может определить XML-приложение для создания документов, описывающих молекулярные структуры, людские ресурсы, мультимедиа презентации или содержащих векторную графику. В конце лекции будет приведен список некоторых уже созданных общеупотребительных XML-приложений, либо приложений, создание которых планируется. XML-приложение обычно определяется созданием описателя типа документа (DTD), который является допустимым компонентом XML-документа. DTD построен по схеме базы данных: он устанавливает и определяет имена элементов, которые могут быть использованы в документе, порядок, в котором элементы могут появляться, доступные к применению атрибуты элементов и другие особенности документа. Для практического использования XML-приложения вы обычно включаете его DTD в ваш XML-документ; наличие DTD в документе ограничивает круг элементов и структур, которые вы будете использовать, вследствие чего ваш документ отвечает стандартам данного приложения. Описания XML-документов, рассмотренных ранее в этой лекции, не включали DTD. О том, как задавать и использовать DTD, вы узнаете в лекции 5. Преимущества применения стандартных XML-приложений при разработке ваших документов состоят в том, что вы можете совместно использовать документы со всеми другими пользователями приложения, а документ может обрабатываться и отображаться с помощью программного обеспечения, которое уже создано для данного приложения. XML-приложения, повышающие качество XML-документов Кроме XML-приложений для описания определенных классов документов имеется несколько XML-приложений, которые вы можете применять внутри XML-документа любого типа. Эти приложения облегчают создание документа и улучшают его качество. Ниже приведены примеры таких приложений.
Об XSL будет рассказано в лекции 10. Другие XML-приложения еще не доведены до готовности и не рассматриваются в этом курсе. (XLink и XPointer не поддерживаются в Internet Explorer 5). Как видите, XML является не только полезным инструментом для описания документов, но и служит основой для построения приложений и расширений, которые могут оказаться востребованными по мере развития Internet. Реальное использование XML Хотя концепция XML весьма интересна, у вас может возникнуть вопрос, как его применить на практике. В этом разделе приведен перечень примеров такого применения XML, как уже широко используемых, так и перспективных. Если имеются соответствующие XML-приложения для практического использования, они будут приведены в скобках. Например, вы сможете узнать, что XML-приложение MathML позволит вам форматировать математические формулы. Ссылка. Более полный список текущих и перспективных XML-приложений, включая их подробное описание, вы можете найти на Web-странице Oasis SGML/XML (http://www.oasis-open.org/cover/xml.html#applications).
Создание XML-документа Поскольку описание XML-документа представляет собой простой текст, вы можете создать его, используя ваш любимый текстовый редактор, например, редактор Notepad, входящий в состав Microsoft Windows. Еще лучше воспользоваться редактором, в котором предусмотрена возможность анализа исходных кодов, например, текстовым редактором Microsoft Visual Studio, рассчитанным на работу с Microsoft Visual C++, Microsoft Visual InterDev, Microsoft Visual J++ и другими приложениями Visual Studio. Создайте XML-документ
При желании можно опустить некоторые элементы типа BOOK. Вам не обязательно набирать все восемь – достаточно будет трех или четырех. (Элемент BOOK включает в себя теги и и весь содержащийся между ними текст.)
Mark Twain mass market paperback 298 $5.49 Walt Whitman hardcover 462 $7.75 98 $2.95 Nathaniel Hawthorne trade paperback 473 $10.95 Herman Melville hardcover 724 $9.95 Henry James mass market paperback 256 $4.95 Nathaniel Hawthorne trade paperback 253 $4.25 Henry James trade paperback 384 $3.35 Анатомия XML-документа XML-документ, подобный только что набранному вами, состоит из двух основных частей: пролога и элемента Документ (его также называют корневым элементом), как показано Пролог В данном примере документа пролог состоит из следующих строк: Первая строка представляет собой объявление XML, указывающее на то, что это XML-документ и содержащее номер версии. (На момент создания курса последняя версия XML имела номер 1.0.) Объявление XML не является обязательным, хотя спецификация требует его включения. Если вы включаете XML-объявление, оно должно находиться в начале документа. Вторая строка пролога состоит из пробела. С целью улучшения внешнего вида документа вы можете вставлять любое количество пустых строк между элементами пролога. При обработке они будут игнорироваться. Третья строка пролога представляет собой комментарий. Добавление комментариев в XML-документ не обязательно, но позволяет сделать его более понятным. Комментарий начинается с символов . Между этими двумя группами символов вы можете поместить любой текст (за исключением двойного тире -- ); XML-процессор проигнорирует его. Примечание. Все составляющие пролога, упомянутые в этом разделе, будут подробно описаны далее в последующих лекциях. Пролог может также содержать следующие необязательные компоненты:
Примечание. XML-процессор – это программный модуль, считывающий XML-документ и обеспечивающий доступ к его содержимому. Он также предоставляет этот доступ другим программным модулям, или приложениям, которые манипулируют и отображают содержимое документа. Если вы отображаете XML-документ в Internet Explorer 5, браузер включает в себя как XML-процессор, так и приложение. (Если для отображения XML-документа вы используете HTML и сценарий (скрипт-код), то при этом самостоятельно создаете часть приложения.) Обратите внимание, что термин приложение в данном случае отличен от термина, применяемого для обозначения XML-приложения (или словаря) как целевого набора элементов и структуры документа, которые используются для описания документов определенного типа Элемент Документ Второй основной частью XML-документа является единый элемент Документ, или корневой элемент, который в свою очередь содержит дополнительные элементы. В XML-документе элементы определяют его логическую структуру и несут в себе информацию, содержащуюся в документе (в нашем примере это информация о книгах, такая как название, автор, цена). Типовой элемент состоит из начального тега, содержимого элемента и конечного тега. Содержимым элемента могут быть символьные данные, другие (вложенные) элементы, либо сочетание данных и вложенных элементов. В рассматриваемом примере элемент Документ – INVENTORY. Его начальный тег – , конечный тег – , а содержимое – восемь вложенных элементов BOOK. Примечание. Текст в XML-документе представляет собой перемежающиеся символьные данные и данные, относящиеся к разметке. Разметка – это текст, ограниченный разделителями и описывающий структуру документа. А именно, начальный и конечный теги элемента, теги пустого элемента, объявления типа документа, инструкции по обработке, ограничители раздела CDATA, символьные ссылки, ссылки на примитивы (entity). (Об элементах разметки вы узнаете в последующих лекциях.) Остальной текст представляет собой символьные данные – реальное информационное содержимое документа (в нашем примере это названия, фамилии авторов, цена и другая информация о книге). Примечание. Элемент Документ в XML-документе похож на элемент BODY на HTML-странице, за исключением того, что вы можете присвоить ему любое допустимое имя. В свою очередь, каждый элемент BOOK содержит ряд вложенных элементов, как показано на рисунке 2.2.
Примечание. Имя, которое содержится в начальном и конечном теге, есть тип элемента. Каждый из элементов, вложенных в элемент BOOK, например, элемент TITLE, содержит только символьные данные, как показано Некоторые базовые правила XML Ниже приведено несколько основных правил создания форматированного XML-документа. Форматированный документ соответствует минимальному набору правил, обеспечивающих возможность обработки документа браузером или другой программой. Документ, составленный вами ранее в этой лекции, является примером форматированного XML-документа, удовлетворяющего этим правилам.
некорректный элемент --> Ссылка. Во второй части вы найдете подробные инструкции по написанию не только корректно сформированных (well-formed), но и валидных (valid) XML-документов, для которых предусмотрен более строгий набор требований. Отображение XML-документа Вы можете открыть XML-документ непосредственно через Internet Explorer 5, точно так же, как вы бы открыли HTML Web-страницу. Если XML-документ не содержит связи с таблицей стилей, Internet Explorer 5 помечает различные составные части документа различным цветом, чтобы облегчить их распознавание, а также представляет элемент Документ в виде иерархического дерева с возможностью свертывания и развертывания структуры и просмотра с меньшей или большей степенью детализации. Если же XML-документ имеет связь с таблицей стиля, Internet Explorer 5 отобразит только символьные данные из элементов документа, отформатировав их в соответствии с правилами, установленными в таблице стиля. Вы можете использовать либо таблицу каскадных стилей (CSS-таблицу, аналогичную той, которая используется для HTML-страниц), либо XSL-таблицу стилей (Extensible Stylesheet Language), которая является более мощным инструментом и строится в соответствии с синтаксисом, принятым для XML. Такие таблицы могут использоваться исключительно для XML-документов. Отобразите XML-документ без таблицы стиля
Смотрите также:
Xml (eXtensible Markup Language) расширяемый язык разметки. Основное внимание в xml сосредоточено на данных. В xml структурная разметка данных и представление данных строго разделены
205.68kb.
Post запроса. Кодировка xml документа должна быть utf-8; в одном xml документе может быть только один заказ!
429.54kb.
Xml как основа для реализации стандартов обмена бизнес-информацией
77.36kb.
Понятие базы данных, реляционной базы данных, субд, ключа, отношения
18.14kb.
Евдокимов А. В., к ф. м н
470.83kb.
Название он такое получил по имени одной из главных его составляющих базы данных. Программа «Базы данных» обладает большими возможностями для систематизации и отображения данных
129.79kb.
Точка доступа
42.32kb.
В докладе рассматриваются непрерывный распределенный и динамический алгоритм кластерного анализа потоков данных и самоорганизующаяся мультиагентная система его исполнения
44.76kb.
С. 3 Глава Базы данных и субд
260.42kb.
«Электронная Земля»: интеграция гис-данных с использованием технологий Grid
139.27kb.
Общие принципы дизайна в объектно-ориентированном проектировании Задание: Обобщенное программирование
102.86kb.
Ника-музей: опыт внедрения и рекомендации создания в музеях учетных баз данных
80.5kb.
|