Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

 <xsl:output indent="yes" method="html"/>

 <xsl:template match="/page">

<html>

<head>

<title>

<xsl:value-of select="title"/>

</title>

</head>

<body>

Welcome!<br/>

Be our guest! <HR/>

<xsl:value-of select="content"/>

</body>

</html>

 </xsl:template>

</xsl:stylesheet>

Листинг 8.55. Выходящий документ

<html>

 <head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>I'm just a simple page...</title>

 </head>

 <body>

Welcome!<br>

Be our guest! <HR>

I've got a simple content

 </body>

</html>

Как можно заметить, метод вывода

"html"
распознает элементы HTML вне зависимости от регистра символов — в нашем примере пустой элемент
<HR/>
был выведен как
<HR>
, что соответствует синтаксису HTML.

Документы, которые преобразуются в HTML, могут также иметь программы, определенные внутри элемента

script
или стили, заданные внутри элемента
style
. В случае если внутри этих элементов оказываются символы, считающиеся в XML специальными — такие как "
<
", "
&
" и так далее, процессор не должен заменять их символьными или встроенными сущностями.

Пример

Предположим, что в преобразуемом документе элемент

script
определен с использованием специальных символов, которые заменены сущностями:

<script> if (a &gt; b) swap(a, b) </script>

или с использованием секций символьных данных:

<script><![CDATA[ if (a>b) swap(a, b) ]]></script>

При использовании метода вывода

"html"
оба варианта будут выведены, как

<script> if (a>b) swap(a, b) </script>

Пожалуй, стоит еще раз повторить, что это относится только к элементам

style
и
script
. Специальные символы, использованные в других элементах, будут заменены символьными или встроенными сущностями.

Пример

This >o&lt; is a black hole of this page!

будет выведено как

This &gt;o&lt; is a black hole of this page!

В соответствии со спецификацией, некоторые атрибуты в HTML могут и не иметь значений — как правило, это атрибуты с булевыми значениями, такие, к примеру, как атрибут

selected
элемента
option
, присутствие которого в элементе означает то, что опция выбрана, отсутствие — то, что она не выбрана. Для того чтобы получить в выходящем документе

<option selected>

следует в преобразовании указывать

<option selected="selected">

то есть присваивать булевому атрибуту значение, равное собственному имени. Такие значения будут выведены в минимизированной форме, как это и требовалось.

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

<?приложение содержимое?>

в HTML инструкции по обработке заканчиваются не "

?>
", а просто правой угловой скобкой ("
>
"):

<?приложение содержимое>

Таким образом, результатом выполнения кода

<xsl:processing-instruction name="app">content</xsl:processing-instruction>

при использовании метода XML будет

<?app content?>

а при использовании метода HTML

<?app content>

  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: