2009-11-24 66 views
0

XSLT轉換,我有以下XML和我正在寫一個XSLT轉換它:與比賽

<callop> 
    <con>unit</con> 
    <var>u</var> 
    <var>v</var> 
</callop> 

的問題是,如果<callop>裏面<is>那麼它應該是一個<nano>元素和<con>成爲<Fun>但是否則它是<Atom>而且<con>變成<Rel>

這怎麼可能。我必須去檢查父節點是什麼嗎?

回答

3

只需指定具有完整路徑的模板,就可以輕鬆處理這一問題。更具體的模板匹配將優先,所以不應該有任何問題。

<xsl:template match="is/callop"> 
    <nano> 
    ... 
... 

<xsl:template match="callop"> 
    <Atom> 
    ... 
... 
+0

''元素如何在''內發生了什麼? – user200210 2009-11-24 21:37:38

+0

您可以聲明一個單獨的模板「is/callop/con」來匹配它,並使用來自「is/callop」模板的apply-templates,或者直接處理它,例如: 2009-11-24 21:41:04

+0

謝謝。現在它工作正常。 – user200210 2009-11-24 22:10:02