2011-07-29 5 views
1

私は現在、援助援助をhtmlに変換するためのXSLスタイルシートに取り組んでいます。次の行では、headタグのインスタンスを選択し、それを目次に表示します。XSLは1つを除くすべての人に適用されます

<xsl:for-each select="c01 | *[head]"> 

私はそれを選択しないことをお勧めします。それは可能ですか?

ありがとうございます!

+0

_The次の行は、ヘッドtag_ではなく、真の任意のインスタンスを選択し、あなたは少なくとも 'ヘッドを含む要素(コンテキストの子供を)選択しています'子タグ。 –

+1

あなたは何を意味しているのですか?1つの頭があります。私はそれを選択したくありません。あなたは正確に選択されたいと思いますか? –

+1

@empo影響を与えたくないheadタグを持つ要素が1つあります。ですから、admininfo/headが現れるかもしれませんが、私はcontrolaccess/headにしたくありません。それは理にかなっていますか?申し訳ありませんが、xsltとxmlの用語はかなり弱いです。 – librarion

答えて

2

コメントを1として:私は影響を与えないことを希望ヘッドタグを持つ一つの要素があります

。だからadmininfo/headが表示されるかもしれませんが、私はcontrolaccess/headにしたくありません。

これはXPathの質問です。使用:

"*[head and not(self::controlaccess)]" 

このXPathは、少なくともhead子タグを持つcontrolaccess以外のコンテキスト内のすべての要素を選択します。

ONEが、それぞれの最終的な

<xsl:for-each select="c01 | *[head and not(self::controlaccess)]"> 
+0

それは美しく動作します。ご協力いただきありがとうございます!私はここでそれをする必要はないと思っていますが、このようなものでコントロールのアクセスを選択することも可能ですが、その中の先頭のタグだけです。 controlaccess/head [1]と似ています。申し訳ありませんが、おそらく別の質問のために予約されています。 – librarion

0

for-eachループの内側をxsl:ifにラップするだけで、現在のヘッドがスキップしないようにループの本体が適用されるようにするのはなぜですか?

関連する問題