Ниже я пытаюсь сопоставить определенные узлы.
<xsl:template match="nodes">
<element>
<xsl:apply-templates select="nodes" mode="different" />
</element>
</xsl:template>
Теперь существует несколько способов обработки одних и тех же узлов. Я хочу использовать этот другой способ обработки в пределах текущего способа обработки. Вот почему я выполняю apply-templates
для того же выбора, который nodes
, однако mode
теперь другой.
Вот как может выглядеть другой режим:
<xsl:template match="nodes" mode="different">
<!-- another way of processing these nodes -->
</xsl:template>
Теперь это не работает. Обрабатывается только первый тип обработки, а вызов apply-templates
просто не применяется.
Чтобы быть более конкретным:
<xsl:template match="Foundation.Core.Association.connection">
<xsl:for-each select="Foundation.Core.AssociationEnd">
<someElement>
<xsl:apply-templates select="Foundation.Core.Association.connection" mode="different" />
</someElement>
</xsl:for-each>
</xsl:template>
Как видите, я выбираю Foundation.Core.Association.connection
. Конечно, это неправильно, но как мне обратиться к этому элементу, учитывая текущий элемент и положение? Учитывая Дерек его комментарий, это должно сделать это.
Что я делаю не так, как я могу получить то, что хочу, используя XSLT? Какой может быть другой подход к решению этой проблемы?
Спасибо.