Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Отображение XML-документа






XML

 

Язык XML (Extensible Markup Language) был разработан рабочей группой XML Working Group консорциума World Wide Web Consortium (W3C) в феврале 1998 г.

XML является метаязыком и содержит правила разметки документа, но XML – это не замена HTML, XML и HTML преследуют различные цели:

· XML был создан для описания данных, концентрируя свое внимание на сущность этих данных;

· HTML был создан для показа данных, концентрируя внимание на том, как данные будут отображаться;

· XML ничего не делает, XML не предназначен для осуществления каких-либо действий.

Пакет данных, описанный на XML, называют XML-документом. XML-документ, как и HTML-документ, является обычным текстовым файлом, в который при помощи угловых скобкок (символов < и >) включаются специальные маркеры – теги. Слово, заключенное в угловые скобки, называется именем тега. Теги парные – начальный и конечный. Конечный тег отличается от начального знаком " /" (слеш) после открывающей угловой скобки. Пара тегов и текст, заключенный между ними, называется элементом XML-документа, текст, заключенный между тегами – содержимое элемента. Например:

< element> это элемент XML-документа< /element>

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

 

Простое напоминание в виде XML-документа:

<? xml version=" 1.0" encoding=" windows-1251"? >

< Записка>

< кому> Иван Иванович< /кому>

< от_кого> Петров П.П.< /от_кого>

< заголовок> Внимание! < /заголовок>

< содержание>

Сдать отчет к

< дата> 21.01.2005< /дата>

< /содержание>

< /Записка>

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

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

· MathML – для описания математических формул.

· Описание молекулярных структур (CML – Chemical Markup Language).

· Кодирование и отображение информации о ДНК, РНК и цепочках (BSML – Bioinformatic Sequence Markup Language).

· Кодирование генеалогических данных (GeDML – Genealogical Data Markup Language).

· Обмен астрономическими данными (AML – Astronomical Markup Language).

· Создание музыкальных партитур (MusicML – Music Markup Language).

· Заполнение юридических документов и электронный обмен юридической информацией (XCL – XML Court Interface).

· Кодирование прогнозов погоды (OMF – Weather Observation Markup Format).

· Представление религиозной информации и разметка текстов богослужений (ThML – Theological Markup Language, LitML – Liturgical Markup Language).

 

Например, можно описать перечень книг, подобно представленному в следующем XML-документе.

Пример 1.

<? xml version=" 1.0" encoding=" windows-1251"? >

< Library>

< Book>

< Title> Война и мир< /Title>

< Author> Толстой Л.Н< /Author>

< Pages> 600< /Pages>

< Type> роман< /Type>

< Text Type=’text’> https://www.text.com/book1< /Text>

< /Book>

< Book>

< Title> Евгений Онегин< /Title>

< Author> Пушкин А.С.< /Author>

< Text Type=’html’> https://www.text.com/book2< /Text>

< Pages> 100< /Pages>

< Type> роман в стихах< /Type>

< /Book>

< Book>

< /Library>

 

Имена элементов в XML-документе (такие как Library, Book и Title в приведенном выше примере) не являются определениями языка XML и можно выбирать любые корректно заданные имена (List вместо Library, либо Item вместо Book).

В предыдущем примере XML-документ имеет иерархическую структуру в виде дерева с элементами, вложенными в другие элементы, и с одним элементом верхнего уровня (в нашем примере – Library). Он носит название элемент Документ или Корневой элемент и содержит все другие элементы.

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

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

 

<? xml version=" 1.0" encoding=" windows-1251"? >

< documents>

< document id=" 54571" date=" 12/05/07" >

< author> Иван Сергеевич Петров< /author>

< text href=" text.txt" >

< introduction>

Экологические проблемы < lake> Телецкого озера < /lake> -

сокровища < region> Горного Алтая < /region>. Одобрено

правительством Республики < department> Горный

Алтай< /department> …

< /introduction>

< problem type=" ecology" >

Одной из самых острых проблем на сегодняшний день

является загрязнение Алтайского Государственного

Заповедника несгоревшими остатками ступеней ракет,

запускаемых с < a href=" document5.xml#Id6" > Космодрома

Байконур< /a>.

< /problem>

< /text>

< /document>

< /documents>

 

Вид XML-документа из примера 3 в браузере Internet Explorer:

 

 

Отображение XML-документа

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

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

· документ должен иметь только один элемент верхнего уровня (элемент Документ, или Корневой элемент). Все другие элементы должны быть вложены в элемент верхнего уровня;

· элементы должны быть вложены упорядоченным образом. Если элемент начинается внутри другого элемента, он должен и заканчиваться внутри этого документа;

· каждый элемент должен иметь начальный и конечный тег. В отличие от HTML, в XML не разрешается опускать конечный тег – даже в том случае, когда браузер в состоянии определить, где заканчивается элемент;

· имя элемента в начальном теге должно в точности соответствовать имени в соответствующем конечном теге;

· имена элементов чувствительны к регистру, в котором они набраны. Весь текст внутри XML-разметки является чувствительным к регистру. Например, следующее описание элемента является неправильным, поскольку имя типа элемента в начальном теге не соответствует имени типа в конечном теге:

< TITLE> Leaves of grass< /Title> <! -- некорректный элемент -->

· имя элемента должно начинаться с буквы или с символа подчеркивания (_), после чего могут идти буквы, цифры, символы точки (.), тире (-) или подчеркивания, двоеточие (:) в имени элемента зарезервировано для задания пространства имен;

· имена элементов, которые начинаются с префикса «xml» (при любом сочетании строчных или прописных букв), зарезервированы для стандартных имен. Хотя браузеры не слишком требователены в этом отношении, лучше не использовать этот префикс, дабы избежать будущих неприятностей;

· в содержимом элемента и атрибута можно использовать любые символы, за исключением левой угловой скобки (<), амперсенда (&) и строки ]]>.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.011 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал