Веб Дизайн - статьи

       

НАЗЫВАТЬ ВЕЩИ СВОИМИ ИМЕНАМИ


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

Вот фрагмент HTML:

<H1>Еditor Сontacts</H1> <H2>Имя: Джонатан Эйнджел</H2> <P>Должность: старший редактор</P> <P>Издание: Network Magazine</P> <P>Улица и дом: Гариссона, 600 </P> <P>Город: Сан-Франциско</P> <P>Штат: Калифорния</P> <P>Индекс: 94107</P> <P>Электронная почта: jangel@mfi.com</P>

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

В случае XML тот же самый фрагмент будет представлен следующим образом (и сохранен в файле EDITORS.XML).

<?xml version = “1.0” ?> <editor_contacts> <editor> <first_name>Джонатан</first_name> <last_name>Эйнджел</last_name> <title>старший редактор</title> <publication>Network Magazine</publication> <adress> <street>Гариссона, 600 </street> <city>Сан-Франциско</city> <state>Калифорния</state> <zip>94107</zip> </address> <e_mail>jangel@mfi.com</e_mail> </editor> </editor_contacts>

XML, лишь несколько более «многословный», чем HTML, намного упрощает определение того, что собой представляют и где находятся поля данных. В XML теги не могут накладываться, как в HTML (что не поощряется, но допускается большинством программ разбора HTML). Однако они могут быть вложены в друг друга.


На самом деле, вложение даже поощряется как способ создания иерархии данных (подчиненные или равноправные отношения). Как видно из приведенного примера, такие элементы, как <first_name> и <e_mail>, содержат данные, в то время как другие (<address>) присутствуют только в целях структурирования. Теги начала и конца элемента являются основными используемыми в XML разметками, но ими дело не исчерпывается. Например, элементам могут быть присвоены атрибуты. Эта возможность аналогична имеющейся в HTML, где, например, элементу <table> может быть присвоен атрибут align=”center”. В XML элемент может иметь один или более связанных с ним атрибутов, причем при составлении документа вы можете выдумать их столько, сколько пожелаете, например <publication topic=”networking” circulation=”controlled”>. Документы XML могут содержать ссылки на другие объекты. Ссылки представляют собой строку, начинающуюся с амперсанта и заканчивающуюся точкой с запятой. Эти ссылки позволяют, в частности, вставить в документ специальные символы, включение которых самих по себе могло бы сбить с толку программу разбора. Например, чтобы поместить в документ знак «меньше, чем» (<) вы должны вставить ссылку <, а чтобы вставить сам амперсант — ссылку &, и т. д. До сих пор все так же, как и в HTML. Однако ссылки XML на объекты предоставляют гораздо больше возможностей, так как они могут ссылаться на определенные автором разделы текста в том же самом или в другом документе. Например, ссылки на объекты позволяют применить объектно-ориентированный подход при создании журнальной статьи: <article> &introduction; &body; &sidebar; &conclusion; &resources; </article>

Другими видами разметки XML являются комментарии (они выделяются точно так же, как в HTML) и инструкции по обработке. Инструкциям по обработке предшествует знак вопроса. Они описывают, что именно программа разбора должна использовать для интерпретации конкретного документа или его раздела.Например, инструкция <?xml version = 1.0”?> сообщает программе разбора XML, что обрабатываемый документ действительно составлен с помощью XML. С другой стороны, инструкция <?rtf \page?> служит для вызова программы разбора RTF и вставки символа конца страницы. Наконец, разделы символьных данных — это части документа, рассматриваемые исключительно как символьные данные, не подвергающиеся разбору. Они выглядят следующим образом: <![CDATA[

Этот текст, даже если он содержит элементы кода HTML, такие, как <B>жирныйшрифт</B> или <H1>заголовок</H1>, не подвергается грамматическому разбору. Вместо этого он отображается как есть. ]]>


Содержание раздела