Здравствуйте, Aquary, Вы писали:
A>Я знаю, что xslt-процессор принципиально будет обрабатывать только то, что указано в template'ах, остальное просто не включит в результаты парсинга... поэтому вопрос сводится к следующему: каким образом можно преобразовать теги и атрибуты в самих себя?
Простым копимарованием (
xsl:copy-of).
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Здравствуйте, V.Petrovski, Вы писали:
A>>Я знаю, что xslt-процессор принципиально будет обрабатывать только то, что указано в template'ах, остальное просто не включит в результаты парсинга... поэтому вопрос сводится к следующему: каким образом можно преобразовать теги и атрибуты в самих себя?
VP>Простым копимарованием (xsl:copy-of).
Спасибо, я совсем забыл про reference
Кстати, пробую такое преобразование
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="chosen_tag_name">
<em><xsl:value-of select="."/></em>
</xsl:template>
<xsl:template match="*">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
Оно оставляет тегу chosen_tag_name без изменений... где грабли?
Здравствуйте, Aquary, Вы писали:
A>Я знаю, что xslt-процессор принципиально будет обрабатывать только то, что указано в template'ах, остальное просто не включит в результаты парсинга... поэтому вопрос сводится к следующему: каким образом можно преобразовать теги и атрибуты в самих себя?
Поставить идентичное преобразование в конец шаблона:
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
Здравствуйте, Bob Kotl, Вы писали:
BK>Поставить идентичное преобразование в конец шаблона:
BK>BK><xsl:template match="/ | @* | node()">
BK> <xsl:copy>
BK> <xsl:apply-templates select="@* | node()"/>
BK> </xsl:copy>
BK></xsl:template>
BK>
Спасибо, всё работает!