Студопедия — Простые примеры
Студопедия Главная Случайная страница Обратная связь

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

Простые примеры






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

Пример 15.

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

<Book>

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

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

<Pages>600</Pages>

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

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

</Book>

Если открыть этот файл в браузере, то появиться тот же самый текст, который приведен выше, вместе со всеми тегами и служебной информацией.

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

Новый вид XML-документа, с добавлением ссылки на XSL- документ во второй строке:

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

<?xml-stylesheet type='text/xsl' href='ex01.xsl'?>

<Book>

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

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

<Pages>600</Pages>

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

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

</Book>

Текст XSL-документа из файла ex01.xsl:

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

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<p><b><xsl:value-of select="Book/Title"/></b></p>

<p><i><xsl:value-of select="Book/Creator"/></i></p>

<p><xsl:value-of select="Book/Pages"/></p>

<p><xsl:value-of select="Book/Type"/></p>

<p><xsl:value-of select="Book/Identifier/@Type"/></p>

<p><xsl:value-of select="Book/Identifier"/></p>

</xsl:template>

</xsl:stylesheet>

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

Порядок элементов value-of XSL-документа определяет порядок, в котором браузер отображает элементы XML-документа. При необходимости шаблон можно легко поменять, абсолютно не меняя основной XML- документ. Таким образом, XSL-таблица стилей сообщает браузеру, как отобразить XML-документ путем избирательного преобразования XML-элементов в блок HTML-разметки, который воспринимается и отображается браузером аналогично разметке, содержащейся на HTML-странице. Заметим, однако, что вам не обязательно включать в XSL-шаблон элементы, представляющие элементы HTML или BODY, которые являются стандартными составными частями HTML-страницы, поскольку браузер сам эффективно их формирует.  

Другой вариант XSL-документа из файла ex01-2.xsl:

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

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<table border="1">

<tr><td><b><xsl:value-of select="Book/Title"/></b></td></tr>

<tr><td><i><xsl:value-of select="Book/Creator"/></i></td></tr>

<tr><td><xsl:value-of select="Book/Pages"/></td></tr>

<tr><td><xsl:value-of select="Book/Type"/></td></tr>

<tr><td><xsl:value-of select="Book/Identifier/@Type"/></td>

</tr>

<tr><td><xsl:value-of select="Book/Identifier"/></td></tr>

</table>

</xsl:template>

</xsl:stylesheet>

Если заменить в XML-документе во второй строке имя XSL-файла на ex01‑2.xsl, то в браузере Internet Explorer результат будет другим:

То есть в результате содержимое XML-документа будет заключено в таблицу. Главный вывод из предложенного примера – к одному XML-документу может быть применено множесво XSL преобразований и наоборот, XSL преоразование может использоваться со многими XML-документами.

 

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

1. создание XSL-таблицы стилей.

2. связывание XSL-таблицы стилей с XML-документом, включив в документ инструкцию по обработке xml-stylesheet, которая имеет следующую обобщенную форму записи:

<?xml-stytesheet type="text/xls" href=”XSLFilePath”?>

Здесь XSLFilePath представляет собой заключенный в кавычки URL, указывающий местонахождение файла таблицы стилей. Можно использовать полный URL, например href="http:/www.my_domain.com/ex01-2.xsl" или указать только имя файла, если XSL-таблица находится в той же папке что и XML-документ – href="ex01-2.xsl".

Рассмотрим теперь более подробно XSL-документ из файла ex01.xsl Пример 15. Его текст:

  <?xml version="1.0" encoding="windows-1251"?>
  <xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
  <p><b><xsl:value-of select="Book/Title"/></b></p>
  <p><i><xsl:value-of select="Book/Creator"/></i></p>
  <p><xsl:value-of select="Book/Pages"/></p>
  <p><xsl:value-of select="Book/Type"/></p>
  <p><xsl:value-of select="Book/Identifier/@Type"/></p>
  <p><xsl:value-of select="Book/Identifier"/></p>
  </xsl:template>
  </xsl:stylesheet>

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

Как и всякий XML-документ он должен содержать единственный корневой элемент и в случае XSL-документа это может быть только (строки 2 и 12):

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

</xsl:stylesheet>

Корневой элемент XSL-документа должен содержать обязательный атрибут version и описание пространства имен XSL. Для XSL-файлов ссылка на пространство имен является стандартной. Если необходимо могут быть и другие пространства имен, обязательно должные быть указаны те же пространства имен, которые присутствовали в XML-документе для организации правильных ссылок на его элементы.

Корневой элемент xsl:stylesheet должен содержать один или несколько шаблонов template. В рассматриваемом примере шаблон только один, который имеет следующую форму (строки 4 и 11):

<xsl:template match="/">

<!-- дочерние элементы... -->

</xsl:template>

Браузер использует шаблон для отображения определенной ветви элементов XML-документа, с которым связана таблица стилей. Атрибут match шаблона указывает на определенную ветвь. Значение атрибута match носит название образца (pattern). Образец в данном примере ("/") представляет корневой элемент XML-документа, то есть этот шаблон содержит инструкции для отображения всего XML-документа.

Каждая XSL-таблица стилей должна содержать один и только один шаблон с атрибутом match, который имеет значение "/". Можно включить один или несколько дополнительных шаблонов с инструкциями для отображения определенных подчиненных ветвей в структуре XML-документа; каждая из них должна иметь образец, отвечающий определенной ветви.

Шаблон содержит два вида XML-элементов.

· XML-элементы, представляющие HTML-разметку. Примерами подобного вида XML-элемента из рассматриваемой таблицы стилей являются теги в строке 5:

<p><b> … </b></p>

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

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

· XSL-элементы. Примеры XSL-элементов из рассматриваемой таблицы стилей являются элементами xsl:value-of, например:

<xsl:value-of select="Book/Title"/>

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

XSL-элемент value-of добавляет содержимое указанного XML-элемента и, также, любых его дочерних элементов, в выходной поток HTML, который и отображается браузером. XML-элемент указывается в атрибуте select XSL-элемента value-of, например, Book/Title, что приводит к выводу текстового содержимого элемента Title. XML-элемент в атрибуте select задается с помощью оператора пути – Book/Title, который определяет местонахождение элемента в дереве XML-документа.

Если опустить атрибут select для XSL-элемента value-of, элемент будет осуществлять вывод текстового содержимого плюс текстовое содержимое всех дочерних элементов в текущий элемент. В приведенном примере, поскольку текущим является корневой элемент, пропуск атрибута select приведет к выводу всех символьных данных в XML-документ.

В строке 9 примера происходит обращение к атрибутам XML-элемента. От работы с XML-элементами обращение к атрибуту отличается указанием символа "@" перед именем атрибута – Book/Identifier/@Type.







Дата добавления: 2015-09-07; просмотров: 1030. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия