我有以下xml结构(它在实际例子中更长,更复杂)
<document>
<node1>
<child1/>
<child2/>
...
</node1>
<anotherNode />
</document>
我想创建一个像
这样的模板<xsl:template match="node1" mode="node1">
<img alt="" src="{child1}" />
...
...
</xsl:template>
并将此模板应用于其他模板
<xsl:template match="anotherNode">
<xsl:apply-templates select="node1" mode="node1" />
</xsl:template>
如果node1标签具有易于操作的父标记,但是如果它没有父标识,我无法弄清楚如何匹配和应用模板。
答案 0 :(得分:2)
使用强>:
<xsl:template match="anotherNode">
<xsl:apply-templates select="/*/node1" mode="node1" />
</xsl:template>
或者:
<xsl:template match="anotherNode">
<xsl:apply-templates select="../node1" mode="node1" />
</xsl:template>
答案 1 :(得分:1)
您需要使用parent axis,(abbreviated syntax中的..
)。
文档中的所有元素都有父级(请参阅DOM3)
答案 2 :(得分:1)
发布的输入是否格式正确(根元素的开始标记中的拼写“docuemnt”?)并且缩进也不清楚,但只要anotherNode
元素和{{ 1}}元素是你可以做的兄弟姐妹
node1