Re[5]: скопировать ноду с предками и потомками с помощью xsl
От: Lloyd Россия  
Дата: 20.02.08 15:57
Оценка: 3 (1) +1
Здравствуйте, <Аноним>, Вы писали:

А>дело в том, что 'node 11', то есть имя атрибута, мне приходит в качестве параметра.

А>И здесь обнаружился прелюбопытный баг: ИЕ не воспринимает параметры в тегах match, хотя прекрасно с ними работает в том же select. Может быть эту особенность формирует и фреймворк(хотя в ФФ все работает чудесно), но оно есть.

Попробуй так:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>

  <xsl:param name="node-name" />

  <xsl:template match="*">
    <xsl:choose>
      <xsl:when test="@name = $node-name">
        <xsl:copy-of select="."/>
      </xsl:when>
      <xsl:when test=".//*[@name = $node-name]">
        <xsl:copy>
          <xsl:copy-of select="@*"/>

          <xsl:apply-templates select="*"/>
        </xsl:copy>
      </xsl:when>
    </xsl:choose>
  </xsl:template>
</xsl:stylesheet>
... << RSDN@Home 1.2.0 alpha rev. 786>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.