0

私は次のような単純なXML構造を持っています

<main>
<node1><!-- comments --><!-- comments --></node1>
</main>

これには、次のようなサブノードまたは値をいくつでも含めることができます。

    <main>
    <node1><!-- comments --><!-- comments --><p>texttext text</p> 
more text <br/></node1>
    </main>

<node1>ノードが空かどうかを確認したい:
条件:ノードにはまだコメントが含まれている可能性があり、空としてマークされているはずです。次のようなことをしています。

<xsl:if test="string-length(main/node1//text())&gt;0">

ただし、複数のタグがあるかのようには機能しません<p>。複数の引数があるため、文字列の長さの関数が機能しなくなります。

この問題を解決するための助けは本当にありがたいです。

4

1 に答える 1

1

<xsl:template match="main/node1[* | text()[normalize-space()]">node1少なくとも1つの要素の子ノードまたは1つのテキストの子ノードが空白以外のコンテンツを持つ要素と一致します。したがって、条件node1[* | text()[normalize-space()]はコメントノード(および処理命令ノード)を無視するため、探しているものである可能性があります。

于 2012-12-06T17:16:59.747 に答える