XSLT - [33]

Шрифт
Интервал

Встроенные таблицы стилей могут обрабатывать не все процессоры XSLT, но некоторые — в частности, Saxon — могут. Давайте рассмотрим пример. В этом случае я включил весь элемент таблицы стилей целиком из >planets.xsl в >planets.xml для создания нового документа, >embedded.xml. В новом документе будут содержаться все данные и вся таблица стилей. Заметьте, что для того, чтобы быть хорошо сформированным XML, >embedded.xml должен иметь только один корневой элемент, поэтому я сделал таблицу стилей (то есть элемент >) родительским элементом корневого элемента >.

Чтобы указать, какой элемент будет трактоваться как встроенная таблица стилей, я задал элементу > ID "stylesheet", установив атрибут >id в это имя:

>

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

В начале документа я также присваиваю это имя, "stylesheet", атрибуту >href элемента >:

>

Теперь процессору XSLT известно, какой элемент я хочу использовать в качестве таблицы стилей — элемент с ID "stylesheet". Но что это за элемент? Элементы XML формируют элементы типа ID в объявлениях DTD или схемах XML, и, как вы помните, информация объявлений DTD и схем пока еще не передается процессору XSLT.

Некоторые процессоры XSLT, такие как Saxon, читают объявление DTD, если оно есть, для определения атрибутов, обладающих типом ID, поэтому я включил DTD в >embedded.xml (листинг 2.8).

Листинг 2.8. planets.xml со встроенной таблицей стилей

>

>

>

>

>

>

>

>

>

>

>

>

> id ID #REQUIRED

> version CDATA #IMPLIED>

>]>

>

Mercury

.0553

58.65

1516

.983

>  43.4

Venus

.815

>  116.75

>  3716

>  .943

>  66.8

Earth

1

1

2107

1

128.4


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

>  

>   

>    

>     </code></p><p><code>>      The Planets Table</code></p><p><code>>    

>    

>    

>     

>      The Planets Table

>    

>    

>      

>      

>      

>       

>      

>      

>      

>     

NameMassRadiusDay

>   

>   


>  

>   

>    

>   

>    

>    

>  

>  


>

Следует отметить еще одно: включив всю таблицу стилей в файле >embedded.xml в элемент >, я должен был предоставить шаблон таблицы стилей для элемента >. (Если бы я этого не сделал, текст из текстовых узлов таблицы стилей был бы скопирован в результирующий документ, — это обсуждается в главе 3 в разделе, посвященном правилам по умолчанию для шаблонов.) Я оставил этот элемент пустым, поместив в конце таблицы стилей в >embedded.xml следующую строку, поэтому из самой таблицы стилей в результирующий документ ничего не копируется:

>

Теперь в Saxon я могу из >embedded.xml создать >planets.html. В Windows для указания того, что используется встроенная таблица стилей, в Saxon служит параметр >-а:

>C:\planets>saxon -a embedded.xml > planets.html

Элемент

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

• >href (обязательный). URI таблицы стилей, которую вы хотите включить.

Этот элемент пустой и не обладает никаким содержимым.

Рассмотрим листинг 2.9. В этом случае я помещу часть таблицы стилей из >planets.xsl в новый документ, >rules.xml. Затем я смогу включить >rules.xml в >planets.xsl.

Листинг 2.9. Включение таблицы стилей

>

>

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

> 


Рекомендуем почитать
Халявные антивирусы и другие бесплатные программы из Интернета!

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


Прибыльный блог: создай, раскрути и заработай

Что такое блог, сегодня знает каждый или практически каждый пользователь Интернета. И судя по стремительно возрастающему количеству блогов в Сети, для многих блогинг — достаточно серьезное увлечение. Но далеко не каждый знает, что это увлечение вполне может быть очень прибыльным. Как «заставить» блог приносить деньги? Как создать и раскрутить свой блог? Как выбрать целевую аудиторию и тематику? Ответы на эти и многие другие вопросы вы найдете в практическом руководстве Евгения Литвина.Откройте для себя профессиональные секреты успеха, узнайте, как хобби может приносить прибыль!


Яндекс для всех

Рассказывается о ведущем поисковом ресурсе российской части Интернета — Яндексе. Описаны его сервисы для поиска документов и новостей, блогов и адресов, товаров и музыкальных произведений. Рассмотрены почтовый сервис и сервис для создания и размещения сайтов на Народ. ру. Читатель узнает о том, что такое "электронные деньги" и как с их помощью оплатить товар. Большое внимание уделяется общедоступным поисковым программам, которые Яндекс предлагает своим посетителям для поиска информации не только на сайтах, но и на своем компьютере.


Google. Прорыв в духе времени

Эта книга – захватывающая история самой успешной Интернет-компании в мире. В последнее время финансовый результат деятельности Google Inc. превосходит даже самые смелые ожидания инвестиционных аналитиков.Целеустремленность, научный талант, творческий поиск, смелость и любовь к эксперименту основателей компании – бывшего москвича Сергея Брина и выходца из штата Мичиган Ларри Пейджа – проложили путь к долгосрочному успеху компании. Под их руководством поисковый механизм Google стал популярнейшим ресурсом, который пользователи любят за удобство и уже испытывают к нему сильную эмоциональную привязанность.


Даркнет: Война Голливуда против цифровой революции

«Даркнет» – это рассказ о цифровой революции в мире медиа. В битве между технологическим прогрессом и медиа-магнатами решается будущее кино, музыки, телевидения, компьютерных игр и Интернета. В этой книге вы найдете истории людей, оказавшихся в эпицентре битвы. «Даркнет» увлечет вас в тайный мир киноподполья, где бутлегеры и пираты скрываются от закона и Голливуда. Но не только в подполье делается цифровая революция: множеству приверженцев цифрового образа жизни, творцам фан-фикшн, диджеев, кинематографистам-любителям, пионерам телевидения нового поколения и разработчикам игр приходится противостоять могущественным силам, стремящимся сохранить статус-кво.


Образование русскоязычного сегмента Фидонет в Западной Европе

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


SQL: быстрое погружение

Что общего между самыми востребованными профессиями и стремительным увеличением количества информации в мире? Ответ: язык структурированных запросов (SQL). SQL — рабочая лошадка среди языков программирования, основа основ для современного анализа и управления данными. Книга «SQL: быстрое погружение» идеальна для всех, кто ищет новые перспективы карьерного роста; для разработчиков, которые хотят расширить свои навыки и знания в программировании; для любого человека, даже без опыта, кто хочет воспользоваться возможностями будущего, в котором будут править данные.


Чистый код. Создание, анализ и рефакторинг

Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей.


Изучаем Python

Книга "Изучаем Python" - это ускоренный курс, который позволит вам сэкономить время и сразу начать писать работоспособные программы (игры, визуализации данных, веб-приложения и многое другое). Хотите стать программистом? В первой части книги вам предстоит узнать о базовых принципах программирования, познакомиться со списками, словарями, классами и циклами, вы научитесь создавать программы и тестировать код. Во второй части книги вы начнете использовать знания на практике, работая над тремя крупными проектами: создадите собственную "стрелялку" с нарастающей сложностью уровней, займетесь работой с большими наборами данных и освоите их визуализацию, и, наконец, создадите полноценное веб-приложение на базе Django, гарантирующее конфиденциальность пользовательской информации. Если вы решились разобраться в том что такое программирование, не нужно ждать.


Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих

Алгоритмы - это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы - это просто. А грокать алгоритмы - это веселое и увлекательное занятие.