我有以下xml,我正在编写一个XSLT来转换它:
<callop>
<con>unit</con>
<var>u</var>
<var>v</var>
</callop>
问题是如果<callop>
位于<is>
内,那么它应该是<nano>
元素,而<con>
会变成<Fun>
,否则它会是<Atom>
}}和<con>
成为<Rel>
。
这怎么可能。我是否必须去检查父节点是什么?
答案 0 :(得分:3)
只需使用完整路径指定模板,即可轻松处理此问题。更具体的模板匹配优先,因此不应存在任何问题。
<xsl:template match="is/callop">
<nano>
...
...
<xsl:template match="callop">
<Atom>
...
...