История. The World Wide Web Consortium (www.w3.org) начал работу над XML в 1996 году, когда стало понятно, что стремительно развивающейся Всемирной Паутине требуется
The World Wide Web Consortium (www.w3.org) начал работу над XML в 1996 году, когда стало понятно, что стремительно развивающейся Всемирной Паутине требуется более мощное и гибкое средство разметки документов, чем HTML. В 1998 году появился первый стандарт XML, а на данный момент официальным стандартом является версия от 2000 года (www.w3.org/TR/2000/REC-xml-20001006).
XML, как и HTML, является потомком обобщенного языка разметки SGML, чей «возраст» насчитывает уже почти 30 лет. SGML предоставляет огромные возможности для описания данных самого разного характера, но сам по себе чрезвычайно громоздок и сложен в применении. Кроме того, при написании программ, имеющих дело непосредственно с документами SGML, возникают неоправданные трудности. Целесообразнее оказалось разрабатывать на основе SGML более простые и ограниченные языки, самым популярным из которых стал язык разметки гипертекста HTML.
XML, с одной стороны, избавлен от ограничений на введение новых тегов и атрибутов, которые присутствуют в HTML, а с другой стороны, прост в применении и требует от разработчиков документов и приложений значительно меньших усилий, чем его предок SGML.
Вместе с тем XML сохраняет преемственность: всякий корректный документ XML является также и корректным документом SGML, что позволяет любым программам обработки «чистого» SGML правильно воспринимать документы XML.
XML (Extensible Markup Language) - это новый SGML-производный язык разметки документов, позволяющий структурировать информацию разного типа, используя для этого произвольный набор инструкций.
Как создать XML документ?
Для создания XML документа в простейшем случае вам не понадобится ничего кроме обычного текстового редактора (по мнению многих Web-дизайнеров, лучший инструмент для создания Web-страниц). Вот пример небольшого XML-документа, используемого вместо обычной записной книжки:
<?xml version="1.0" encoding="koi-8"?><notepad> <note id="1" date="12/04/99" time="13:40"> <subject>Важная деловая встреча</subject> <importance/> <text> Надо встретиться с <person id="1625"> Иваном Ивановичем</person>, предварительно позвонив ему по телефону <tel>123-12-12</tel> </text> </note> ... <note id="2" date="12/04/99" time="13:58"> <subject>Позвонить домой</subject> <text> <tel>124-13-13</tel> </text> </note></notepad>При создании собственного языка разметки вы можете придумывать любые названия элементов, (почти любые, т.к. список допустимых символов ограничен и приведен в спецификации XML), соответствующих контексту их использования. В нашем примере приведен лишь один из многочисленных способ создания структуры дневника. В этом и заключается гибкость и расширяемость XML-производных языков - они создаются разработчиком "на лету", согласно его представлениям о структуре документа, и могут затем использоваться универсальными программами просмотра наравне с любыми другими XML-производными языками, т.к. вся необходимая для синтаксического анализа информация заключена внутри документа.
Создавая новый формат, необходимо учитывать тот факт, что документов, "написанных на XML", не может быть в принципе - в любом случае авторы документа для его разметки используют основанный на стандарте XML (т.н. XML-производный) язык, но не сам XML. Поэтому при сохранении созданного файла можно выбрать для него какое-то подходящее названию расширение (например, noteML).
XML (Extensible Markup Language) - это язык разметки, описывающий целый класс объектов данных, называемых XML- документами. Этот язык используется в качестве средства для описания грамматики других языков и контроля за правильностью составления документов. Т.е. сам по себе XML не содержит никаких тэгов, предназначенных для разметки, он просто определяет порядок их создания. Таким образом, если, например, мы считаем, что для обозначения элемента rose в документе необходимо использовать тэг <flower>;, то XML позволяет свободно использовать определяемый нами тэг и мы можем включать в документ фрагменты, подобные следующему:
<flower>rose</flower>Набор тэгов может быть легко расширен. Если, предположим, мы хотим также указать, что описание цветка должно по смыслу идти внутри описания оранжереи, в которой он цветет, то просто задаем новые тэги и выбираем порядок их следования:
<conservatory><flower>rose</flower></conservatory>Если мы хотим посадить туда еще несколько цветочков, то должны внести следующие изменения:
<conservatory><flower>rose</flower><flower>tulip</flower><flower>cactus</flower></conservatory>Как видно, сам процесс создания XML документа очень прост и требует от нас лишь базовых знаний HTML и понимания тех задач, которые мы хотим выполнить, используя XML в качестве языка разметки. Таким образом, у разработчиков появляется уникальная возможность определять собственные команды, позволяющие им наиболее эффективно определять данные, содержащиеся в документе. Автор документа создает его структуру, строит необходимые связи между элементами, используя те команды, которые удовлетворяют его требованиям и добивается такого типа разметки, которое необходимо ему для выполнения операций просмотра, поиска, анализа документа.
Еще одним из очевидных достоинств XML является возможность использования его в качестве универсального языка запросов к хранилищам информации. Сегодня в глубинах W3C находится на рассмотрении рабочий вариант стандарта XML-QL(или XQL), который, возможно, в будущем составит серьезную конкуренцию SQL. Кроме того, XML-документы могут выступать в качестве уникального способа хранения данных, который включает в себя одновременно средства для разбора информации и представления ее на стороне клиента. В этой области одним из перспективных направлений является интеграция Java и XML - технологий, позволяющая использовать мощь обеих технологий при построении машинно-независимых приложений, использующих, кроме того, универсальный формат данных при обмене информации.
XML позволяет также осуществлять контроль за корректностью данных, хранящихся в документах, производить проверки иерархических соотношений внутри документа и устанавливать единый стандарт на структуру документов, содержимым которых могут быть самые различные данные. Это означает, что его можно использовать при построении сложных информационных систем, в которых очень важным является вопрос обмена информацией между различными приложениями, работающими в одной системе. Создавая структуру механизма обмена информации в самом начале работы над проектом, менеджер может избавить себя в будущем от многих проблем, связанных с несовместимостью используемых различными компонентами системы форматов данных.
Что дает XML?
Теперь, когда стало понятно, что представляет собой XML, стоит рассмотреть, какие же преимущества по сравнению с HTML он обеспечивает разработчикам и пользователям документов и программ.
HTML хотя и является языком структурной разметки, ориентирован в основном на отображение документов в тех или иных браузерах. В нем очень мало средств для обозначения смысла содержимого документов. Невыполнима, например, задача автоматического поиска среди документов HTML тех, в которых содержатся стихи или фамилии общественных деятелей. Программа, обрабатывающая документ HTML, просто не в состоянии отличить стихотворение от любого другого текста, а фамилию – от любого другого слова. Если же, допустим, в документе XML стихи заключены в теги <poem> и </poem>, а фамилии – в теги <name> и</name>, процедура поиска становится осуществимой. Таким образом, XML позволяет описывать данные независимо от какого бы то ни было представления этих данных.
Разумеется, польза от перехода на XML будет только в том случае, если разработчики документов и обрабатывающих программ придерживаются единой системы обозначений. Упоминавшаяся ранее задача поиска стихотворений снова окажется невыполнимой, если в одних документах стихотворения помечены как <poem>, в других – как <verse>, а в третьих – как <stih>. Поэтому необходимо создавать единые стандарты обозначений. Уже предпринимаются шаги по введению таких стандартов в целых предметных областях – например, в химической науке. Пределом мечтаний была бы стандартизация вообще всех возможных типов данных, но, по всей видимости, это невозможно в принципе.
Отображение документов XML
Возникает вопрос – а как же пользовательские программы будут отображать документы XML, если в самих документах никаких инструкций на этот счет не содержится? Отображение HTML-документа возможно только благодаря строго определенному набору тегов, смысл каждого из которых браузеру известен. Для «самодельных» тегов этот способ не подходит.
Для инструктирования браузера или другого приложения о том, что делать с теми или иными элементами документа, применяется язык стилей XSL (Extensible Stylesheet Language). Стандарт XSL разделяется на три части: язык трансформации документов XSLT, язык запросов и адресации XPath и, наконец, язык форматирования XSL:FO.
Чаще всего разработчики сталкиваются с языком XSLT. Он предназначен для преобразования (трансформирования) XML-документов из одного формата в другой. В XSLT можно задать такие правила интерпретации исходного документа, что на выходе от него может остаться только перечень заголовков статей или он превратится в обычный документ HTML.
Как выглядит XML-документ?
Если Вы знакомы с HTML, изучение XML не потребует от вас особых усилий. Хотя XML, безусловно, сильно отличается по своим возможностям и предназначению от языка гипертекстовой разметки, оба эти языка являются подмножествами SGML, и, следовательно, наследуют его базовые принципы.
Структура документа
Простейший XML- документ может выглядеть так, как это показано в Примере 1
<?xml version="1.0"?><list_of_items><item id="1"><first/>Первый</item><item id="2">Второй <sub_item>подпункт 1</sub_item></item><item id="3">Третий</item><item id="4"><last/>Последний</item></list_of_items>Обратите внимание на то, что этот документ очень похож на обычную HTML-страницу. Также, как и в HTML, инструкции, заключенные в угловые скобки называются тэгами и служат для разметки основного текста документа. В XML существуют открывающие, закрывающие и пустые тэги (в HTML понятие пустого тэга тоже существует, но специального его обозначения не требуется).
Тело документа XML состоит из элементов разметки (markup) и непосредственно содержимого документа - данных (content). XML - тэги предназначены для определения элементов документа, их атрибутов и других конструкций языка. Более подробно о типах применяемой в документах разметки мы поговорим чуть позже.
Любой XML- документ должен всегда начинаться с инструкции <?xml?>, внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа
Дата добавления: 2015-09-14; просмотров: 636;