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

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

Шрифт:
Листинг 8.15. Преобразование, использующее псевдонимы пространств имен

<xsl:stylesheet

 version="1.0"

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

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

 <xsl:namespace-alias

stylesheet-prefix="axsl"

result-prefix="xsl"/>

 <xsl:template match="replace">

<axsl:template match="{@select}">

<axsl:element name="{@with}">

<axsl:apply-templates/>

</axsl:element>

</axsl:template>

 </xsl:template>

 <xsl:template match="remove">

<axsl:template match="{@select}"/>

 </xsl:template>

 <xsl:template match="transform">

<axsl:stylesheet version="1.0">

<xsl:apply-templates/>

<axsl:template match="@*|node">

<axsl:copy>

<axsl:apply-templates select="@*|node"/>

</axsl:copy>

</axsl:template>

</axsl:stylesheet>

 </xsl:template>

</xsl:stylesheet>

В этом преобразовании элемент

xsl:namespace-alias
указывает на то, что все элементы, принадлежащие в преобразовании пространству имен с URI

http://www.w3.org/1999/XSL/Transform/Alias

в выходящем документе должны принадлежать пространству имен с URI

http://www.w3.org/1999/XSL/Transform

то есть пространству имен XSLT.

Результатом применения этого преобразования к документу из листинга 8.13 будет следующий документ.

Листинг 8.16. Выходящее преобразование

<axsl:stylesheet

 version="1.0"

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

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

 <axsl:template match="a"/>

 <axsl:template match="b">

<axsl:element name="B">

<axsl:apply-templates/>

</axsl:element>

 </axsl:template>

 <axsl:template match="c">

<axsl:element name="C">

<axsl:apply-templates/>

</axsl:element>

 </axsl:template>

 <axsl:template match="@*|node">

<axsl:copy>

<axsl:apply-templates select="@*|node"/>

</axsl:copy>

 </axsl:template>

</axsl:stylesheet>

В этом сгенерированном преобразовании элементы имеют префикс

axsl
, но при этом принадлежат пространству имен XSLT.

Атрибуты

stylesheet-prefix
и
result-prefix
элемента
xsl:namespace-alias
могут иметь значения
"#default"
. Определение вида

<xsl:namespace-alias

 stylesheet-prefix="a"

 result-prefix="#default"/>

означает, что элементы, принадлежащие в преобразовании пространству имен

а
, в выходящем документе должны принадлежать пространству имен по умолчанию. Определение вида

<xsl:namespace-alias

 stylesheet-prefix="#default"

 result-prefix="a"/>

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

а
.

  • Читать дальше
  • 1
  • ...
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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