xml - 如何区分 XSL 中的两个模板?

标签 xml xslt

这就是我在 XSL 中尝试做的事情:

<xsl:apply-templates select="document('a.xml')//row"/>
<xsl:apply-templates select="document('b.xml')//row"/>

<xsl:template match="row">
  <!-- for document a.xml -->
</xsl:template>

<xsl:template match="row">
  <!-- for document b.xml -->
</xsl:template>

由于显而易见的原因,不能像现在这样工作。如何区分这两个模板?文档 a.xmlb.xml 在 XML 结构方面完全相同。

最佳答案

使用 mode attribute .

<xsl:apply-templates select="document('a.xml')//row" mode="a"/>
<xsl:apply-templates select="document('b.xml')//row" mode="b"/>

<xsl:template match="row" mode="a">
  <!-- for document a.xml -->
</xsl:template>

<xsl:template match="row" mode="b">
  <!-- for document b.xml -->
</xsl:template>

关于xml - 如何区分 XSL 中的两个模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6116912/

相关文章:

java - 在 EditText 中禁用滚动效果并且仍然有可见的光标

xslt - xslt : from base xml to intermediate xml to final output

xml - XSLT - 如何合并 XSLT 文件

java - 如何在Java中过滤掉非法的XML字符

xml - 从 for-each 中的值更改 XPath 查询

xml - XSLT/XPath 获取当前节点号

java - 如何将 ONIX xml 短标记名称转换为引用标记名称?

xslt - 如何对 XSLT 变量中创建的节点的值求和

android - 你如何在 Dimens/Strings id 和它们的实际值之间切换?

java - Android 应用程序可在 AVD 上运行但不能在手机上运行?