XSLT - [40]

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

в yes («да», по умолчанию он установлен в >no, «нет»). В приведенном ниже примере я при помощи > непосредственно пишу текст ">" в выходной документ:

>

>

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

>  

>   

>    </code></p><p><code>>     Planets</code></p><p><code>>   

>   

>   

>   

>   

>  


> 

>   <PLANET/>

>  

>

Результат следующий:

>

>  </code></p><p><code>>   Planets</code></p><p><code>> 

>  

>  

>  

>

Разумеется, не обязательно выводить > при помощи >: этот элемент можно было поместить непосредственно в элемент буквального результата. Но что делать в тех случаях, когда процессор XSLT не сможет распознать нужный нам в выходном документе элемент как фактический элемент? Например, в преобразованных документах XHTML вам потребуется >, но процессор XSLT сочтет, что это не хорошо сформированный XML. Как поместить этот элемент в выходные данные?

Можно попробовать поместить этот элемент в раздел >, как мы увидим в главе 6, и попытаться трактовать его как простые символьные данные, но процессоры XSLT все равно заменят < на ><, а > на >>.

Правильный способ добавить в вывод элемент > — использовать атрибут >doctype-public элемента >, как мы увидим в главе 6, но в качестве демонстрации для этих целей здесь я отключу вывод ESC-последовательностей в элементе > (хотя этот способ не рекомендован для создания элементов >). Вот как это выглядит:

>

>

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

> 

>   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

>  

>   

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

>   

>   

>   

>     The Planets Table

>    

>   

>    

>     

>     

>     

>     

>    

NameMassRadiusDay

>  

>  


>  

>  

>   

>   

>   

>  


>  

>  

>  


>  

>  

>  


>  

>  

>  

> 

А вот результат:

>

>

>

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

>  

>   The Planets Table

>   .

>   .

>   .

Далее в книге будут приведены другие примеры использования >, в том числе — при обсуждении символов-разделителей далее в этой главе.

Написание значений атрибутов

В XSLT есть несколько способов написать значения атрибутов в выходные документы, и наиболее мощный — это создать атрибуты с нуля при помощи элемента >, как мы увидим в главе 6.

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

Предположим, например, что нам требуется преобразовать текст в таких элементах, как >, > и >, в атрибуты элементов >, преобразуя >planets.xml в следующий вид:

>

>

>  MASS=".0553 (Earth = 1)" NAME="Mercury"/>

>  MASS=".815 (Earth = 1)" NAME="Venus"/>

>  MASS="1 (Earth = 1)" NAME="Earth"/>

>

Чтобы создать преобразование, нельзя просто использовать следующее выражение, в котором я взял значения элементов >, > и > и попытался сделать их значениями атрибутов:

>

"

>  MASS=""

>  DAY=""

>/>

Это не будет работать, поскольку нельзя использовать < внутри значений атрибутов, как я сделал в предыдущем примере. В XSLT для этого есть несколько способов. Один из них — использовать шаблоны значений атрибутов. 

Шаблоны значений атрибутов

Шаблон имени значения атрибута не имеет ничего общего с теми шаблонами, с которыми мы до сих пор работали, — то есть с шаблонами для создания правил таблицы стилей. Напротив, применение шаблона значения атрибута (attribute value template) означает лишь, что значение атрибута может быть установлено во время выполнения.


Рекомендуем почитать
Технологии INTRANET.  История Java. Как начиналась революция Интернет

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


Я-муары. Откровенные истории блогера

Во всякой уважающей себя книге должно быть предисловие.Но ведь это не совсем настоящая книга! Здесь нет выдуманных героев и сочиненных ситуаций, удачных рецептов, и даже отсутствуют рекомендации, как выйти замуж за олигарха!Почему стоит прочитать эту книгу? Прежде всего потому, что она и о вас.О нашей общей жизни, в которой много чего есть, но больше всего, конечно, любви. Так что это записки о любви, реальные записки, а не выдуманные.Эту самую жизнь я стала записывать на страницах Живого Журнала. Для себя и моих близких.


Флибуста. Обратная сторона. Инструкции по установке и запуску i2p, TOR и VPN для «чайников». v. 1.1

Тема форума Флибуста через i2p, TOR и VPN (инструкции по установке и запуску для «чайников»). v. 1.0ВНИМАНИЕ!Все приведённые ниже настройки не обеспечивают вашу полную анонимность в сети, и предназначены исключительно для доступа к книгам на Флибусте.Информацию по безопасной работе с запрещенными сайтами это руководство не дает, это не является профилем библиотеки.Берегите себя.


Ничего личного: Как социальные сети, поисковые системы и спецслужбы используют наши персональные данные

Когда в нашей жизни появился Интернет, миллионы людей на планете подумали, что он откроет всем мир колоссальных возможностей и что это величайший цивилизационный сдвиг со времен промышленной революции… Однако что мы знаем о темной стороне Сети?Раскрыть глаза человечеству взялся Эндрю Кин, которого в Кремниевой долине назвали Антихристом за резкую критику плутократов вроде Марка Цукерберга, зарабатывающих несметные богатства на использовании персональных данных обычных пользователей. Кин рассказывает, как владельцы Google, Facebook, Twitter, Instagram, прочих «цифровых гигантов», действуя по принципу «Победитель получает всё», усугубляют безработицу и экономическое неравенство, как интернет-бизнес породил целую индустрию добычи и переработки наших с вами личных данных.Детально воссозданная технологическая и экономическая картина Интернета будет интересна всем, кто хочет пользоваться его благами с минимальным ущербом для собственной безопасности.


Корпоративный веб-сайт на 100%. Требуйте от сайта большего!

Системное, компактное и хорошо структурированное руковод ство по всем аспектам функционирования корпоративных сайтов. Книга обобщает богатый практический опыт ее авторов (более 700 успешных проектов в сфере веб-разработок и сотни печатных и электронных публикаций). На страницах книги вы найдете множество рекомендаций, примеров, методик и контрольных списков, которые позволят сделать ваш веб-сайт мощным бизнес-инструментом.Книга адресована директорам по маркетингу и другим специалистам, в чьи обязанности входит управление корпоративными веб-сайтами.В качестве важного дополнения к настояшему изданию рекомендуем сайт www.webdevelopment.ru, на котором вы можете оставить свои комментарии, ознакомиться с дополнительными материалами, задать вопросы, пообщаться с авторами.


Вопрос безопасности в Интернет это вопрос ВЕРЫ, Веры в чистые помыслы Била Гейтса

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


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

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


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

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


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

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


Изучаем Python

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