[XSLT] оставить часть xml необработаной
От: Aquary Россия https://wmspanel.com/
Дата: 18.04.05 08:02
Оценка:
День добрый!

Есть большой XML-текст, в котором нужно сделать частичное xslt-преобразование, т.е. одну из тег во всем документе преобразовать, остальное оставить нетронутым.

Я знаю, что xslt-процессор принципиально будет обрабатывать только то, что указано в template'ах, остальное просто не включит в результаты парсинга... поэтому вопрос сводится к следующему: каким образом можно преобразовать теги и атрибуты в самих себя?
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re: [XSLT] оставить часть xml необработаной
От: V.Petrovski Беларусь  
Дата: 18.04.05 08:14
Оценка: 4 (1)
Здравствуйте, Aquary, Вы писали:

A>Я знаю, что xslt-процессор принципиально будет обрабатывать только то, что указано в template'ах, остальное просто не включит в результаты парсинга... поэтому вопрос сводится к следующему: каким образом можно преобразовать теги и атрибуты в самих себя?

Простым копимарованием (xsl:copy-of).
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: [XSLT] оставить часть xml необработаной
От: Aquary Россия https://wmspanel.com/
Дата: 18.04.05 09:01
Оценка:
Здравствуйте, 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 без изменений... где грабли?
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re: [XSLT] оставить часть xml необработаной
От: Bob Kotl Россия  
Дата: 18.04.05 09:18
Оценка: 6 (1)
Здравствуйте, Aquary, Вы писали:

A>Я знаю, что xslt-процессор принципиально будет обрабатывать только то, что указано в template'ах, остальное просто не включит в результаты парсинга... поэтому вопрос сводится к следующему: каким образом можно преобразовать теги и атрибуты в самих себя?


Поставить идентичное преобразование в конец шаблона:

<xsl:template match="/ | @* | node()">
  <xsl:copy>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>
Re[2]: [XSLT] оставить часть xml необработаной
От: Aquary Россия https://wmspanel.com/
Дата: 18.04.05 23:16
Оценка:
Здравствуйте, 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>


Спасибо, всё работает!
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.