2011-07-14 30 views
1

如何將下面的代碼轉換爲xsl可編譯的形式?如果元素的名稱及其屬性等於某個值,XSL將獲取元素

我想要什麼:返回具有元素名稱== CT和CT屬性=='person'的元素。

我試圖(但失敗)的xsl:何時 「以及」 參與

<xsl:if test="CT and @Name='person'"> 

谷歌的關鍵字不是非常有幫助?

感謝。

+0

隨着(正確的)'的xsl:if'指令你會檢查元素是否存在。檢索節點和值的指令是@polishchuck答案中提到的。 –

回答

3

適當的XPath:<xsl:value-of select="CT[@Name = 'person']" />

應該XML:

<root> 
    <CT Name="a">A</CT> 
    <CT Name="person">Person</CT> 
</root> 

XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:template match="/"> 
     <xsl:value-of select="//CT[@Name = 'person']" /> 
    </xsl:template> 
</xsl:stylesheet> 

結果: Person

+0

你也可以指定,如果元素的副本是需要的(而不是它的值)'xsl:copy-of'是必須的。 –

+1

你已經假定上下文節點是CT元素的父節點。這可能或可能不是這樣。 –

+0

@邁克爾,是的,我不是心靈感應派。 –