Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » XML под&nb p;маской HTML

 

XML под&nb p;маской HTML

 

 

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

загрузка...

 

 

Таблицы XSL можно использовать с браузерами последних поколений Язык XSL включает в себя несколько компонентов, но нас, в первую очередь, интересует такая его составная часть, как язык преобразований XSLT (XSL Transformation Language), который позволяет преобразовать XML-документ в документ с другой древовидной структурой. Иными словами, с его помощью можно преобразовывать документы с одного диалекта XML на другой. Этим и можно воспользоваться и при разработке веб-приложений, сохраняя информацию в XML-документах и преобразовывая ее при необходимости с помощью инструкций XSLT в диалект xHTML или правильный HTML с древовидной структурой. Этот способ очень походит для создания шаблонов сайтов, тем более что последние версии браузеров (Internet Explorer 5.5, Mozilla 1.5, Firebird) поддерживают эту технологию, и со временем она будет использоваться все шире. Помимо браузеров, существуют программы — например xsltproc, — позволяющие на основе файла XML и инструкций для его преобразования сгенерировать HTML-файл. Если создание статичного файла вас не устраивает, то возможность создавать HTML-код по запросу браузера на стороне сервера позволяют скриптовые языки программирования, что делает возможным использовать эту технологию даже с учетом устаревших браузеров. Не следует также забывать, что, несмотря на то что мы будем рассматривать возможности XSLT для преобразований в HTML-язык, вы можете создать несколько наборов инструкций для преобразования XML-файла в другие диалекты — например, в язык WML, создавая одновременно с обычным сайтом wap-сайт на основе одной и той же информации.

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

 <?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="example.xsl"?>
<stock>
<book>
<author>Поль Дюбуа</author>
<name>MySQL</name>
<price currency="р.">120</price>
</book>
<book>
<author>Роман Сюзи</author>
<name>Python</name>
<price currency="р.">170</price>
</book>
</stock>

Таблицы CSS и XSL связываются с документами XML одинаково Обратите внимание на вторую стоку документа, где инструкция xml-stylesheet связывает наш документ с таблицей стилей XSL. Синтаксис этой инструкции одинаков как для привычных таблиц CSS, так и для XSL, отличаясь только атрибутом type, который приобретает соответственно значения text/css и text/xsl. Атрибут href знаком нам по языку HTML и содержит ссылку на файл с таблицей стилей.

Рассмотрим простую таблицу стилей XSL example.xsl, которая, однако, содержит достаточно элементов, чтобы понять, как работает эта технология и использовать их для создания вполне работоспособных шаблонов:

<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="/redir.php?url=www.w3.org%2F1999%2FXSL%2FTransform">

<xsl:template match="stock">
<html>
<head>
<title>Книги</title>
</head>
<body>
<table border="1" cellspacing="0" cellpadding="3">
<xsl:apply-templates />
</table>
</body>
</html>
</xsl:template>

<xsl:template match="book">
<tr>
<xsl:apply-templates />
</tr>
</xsl:template>

<xsl:template match="author | name | price">
<td>
<xsl:apply-templates />
<xsl:value-of select="@currency" />
</td>
</xsl:template>

<xsl:template match="text()">
<xsl:value-of select="." />
</xsl:template>

</xsl:stylesheet>

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

<xsl:stylesheet version="1.0" xmlns:xsl="/redir.php?url=www.w3.org%2F1999%2FXSL%2FTransform">

указывает, что мы будем использовать схему для создания таблиц стилей xsl:stylesheet, которую можно обнаружить по адресу, указанному в атрибуте xmlns:xsl. Здесь также появляется префикс xsl, который задает название пространства имен, используемых в этой схеме. Он встретится во всех тегах нашей таблицы стилей XSL, указывая на их принадлежность к языку XSLT.

Таблица стилей XSL — набор шаблонов для элементов XML В нашей таблице мы создадим набор шаблонов, привязанных к определенных узлам созданного нами XML-документа. Процессор xslt, встроенный в браузер или в виде отдельной программы, будет пробегать наш документ и, при совпадении условий, применять наши инструкции к элементам XML. Первым делом, естественно, мы должны создать шаблон для корневого элемента нашего документа stock. Шаблон создается с помощью тега xsl:template с атрибутом match, задающим элемент, для которого шаблон будет применен. В нашем случае задаем в соответствие корневому элементу стандартные блоки HTML-документа: html, head, title, body, а также создаем таблицу для более удобного представления информации, хранящейся в XML-документе. В блоке body мы применили инструкцию , задача которой — передать содержание элемента stock на обработку остальных шаблонов в нашей таблице стилей. Так как это корневой элемент, содержащий все элементы, то и для них будут применены прописанные далее в таблице шаблоны. По такому же принципу построен шаблон для тега book, создающий для каждого элемента строку таблицы.

В таблицах XSL широко иcпользуется язык XPath Следующий шаблон несколько сложней. В нем мы используем конструкции языка XPath, который когда-то был составной частью XSLT, но сейчас уже стал самостоятельной технологией. Его задача — обнаруживать определенные узлы XML по описанию заданному пользователем и передавать их другим инструментам, обрабатывающим документ XML. Благодаря ему мы можем воспользоваться оператором "|" в качестве логического «ИЛИ» для указания элементов, к которым мы хотим применить один и тот же шаблон. Таким образом, мы создаем один шаблон для элементов author, name и price.

Помимо тегов, можно обрабатывать и атрибуты В этом и следующем шаблонах мы используем еще одну инструкцию: xsl:value-of. Эта команда извлекает значение узла XML и помещает его в итоговый документ. Последний шаблон нашего документа обрабатывает текстовое содержание тегов XML, что также указывается с помощью команды XPath text(). Этот шаблон прописывать было не обязательно, так как предыдущий шаблон неявно передает на обработку содержание узлов author, name и price, даже без наших указаний. Тем не менее явная обработка текстовых элементов документа делает наш шаблон более понятным. В команде xsl:value-of в атрибуте select тоже используется команда XPath ".", которая ссылается на текущий элемент. Таким образом, последний шаблон выполнтся при нахождении текстовой строки, извлечет ее значение и поместит в результирующий документ. Команда xsl:value-of используется также в шаблоне для элементов author, name, price — для извлечения значения атрибута currency тега price. В языке XPath символ "@" используется для обозначения атрибутов элементов, а выражение

<xsl:value-of select="@currency" />

дает указание извлечь значение атрибута currency и поместить его в итоговый документ. Так как атрибут currency есть только в теге price, то во время обработки тегов author и name не будет возвращено никаких значений, что позволяет использовать эту инструкцию в одном шаблоне для нескольких тегов.

Результат обработки XML-документа с помощью нашей таблицы стилей XSL можно посмотреть браузерах последнего поколения:

Обратите внимание, что браузер показывает источник нашего документа как xml-документ, а в окне браузера он отображается как веб-страница — со всей информацией, которую мы хотели вывести.

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

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "XML под&nb p;маской HTML":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Оптимизация не-HTML-сайтов для поисковых серверов

Приходится признать, что знаменитая цитата " Построй это, и они сами к тебе придут" из фильма Field of Dreams вряд ли применима для веб-сайтов. В чем толк создавать великолепный веб-сайт, если о нем никто не знает или просто не может его найти?

» Продвижение и оптимизация - 1962 - читать


HTML Quick Edit Bar – редактор вам уже не&nb p;понадобится...

Насколько часто вам приходилось загружать полноценный веб-редактор, например Macromedia Dreamweaver, Adobe GoLive или Microsoft Front Page, даже если на странице необходимо было поменять всего несколько слов? Например, вы увидели опечатку в тексте или же просто нужно добавить в описание компании или товара несколько предложений. Или, может, вам знакома ситуация, когда ваш мини-интернет-магазин построен на основе обычных статических страничек и перед вами стоит необходимость ...

» Интересное в сети - 1762 - читать


HTML в&nb p;студию

Программ, с помощью которых можно создать html*-документы, существует великое множество. В принципе, это можно сделать и в Notepad'e, вручную расставляя все необходимые теги. Некоторое время назад среди начинающих веб-мастеров такой подход вызывал наибольшее уважение, и на многих сайтах можно было увидеть красующуюся надпись «

» Интересное в сети - 1850 - читать


HTML-редактор? Вот и&nb p;редактируй!

Вкладки Edit и Browse редактора Каким бы мощным ни был HTML-редактор, пользователя в первую очередь интересует его основная функция: редактирование кода веб-страниц. Впервые запустив HomeSite, начинающий вебмастер видит рабочую область с двумя вкладками: Edit (Редактировать) и Browse (Просмотр).

» Интересное в сети - 1360 - читать


Клиентский html-редактор TinyMCE

Когда вы выполняете сложный и ответственный заказ вроде разработки корпоративного интернет-представительства крупной фирмы или заказ требовательного индивидуального заказчика, иногда стоит пойти на отступление от принятой формы постановки материалов в движки популярных систем управления контентом. Как правило, более выверенным и подготовленным выглядит материал, набранный в «стационарном» текстовом редакторе, будь то OpenOffice или MS Office. В конце концов, люб ...

» Интересное в сети - 2663 - читать



Статья на тему Интернет » Интересное в сети » XML под&nb p;маской HTML

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru