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

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

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





Рассмотрим простой пример 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; просмотров: 1050. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


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

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

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