2011-07-14 6 views
1

下のコードをxslコンパイル可能な形式に変換するにはどうすればよいですか?XSL要素の名前とその属性が特定の値と等しい場合、要素を取得します

私が望むもの:要素名== CT、CTの属性== '人物'の要素を返します。

私が試した(しかし、失敗した)のxsl: "と" 関与しているとき

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

、Googleのキーワードは非常に参考にされていません...

感謝。

+0

(正しい) 'XSL付き要素が存在するかどうかをチェックします。ノードと値を取得する命令は、@ polishchuck answerに記載されているものです。 –

答えて

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> 

結果:if`命令ます: Person

+0

要素のコピーが必要であれば(その値ではなく)、 'xsl:copy-of'が必要であると指定することもできます。 –

+1

コンテキストノードがCT要素の親であると仮定しました。そうかもしれないし、そうでないかもしれない。 –

+0

@マイケル、まあ、私はテレパシーではありません。 –

関連する問題