我有一些xml看起来像这样:
<myGroup>
<something>Stuff</something>
<anotherThing>More Stuff</anotherThing>
<thisThing></thisThing>
<andAnother>Good stuff</andAnother>
<howAboutThis></howAboutThis>
<andOneMore>Tell me the good things</andOneMore>
<lastOne>That come into your mind about your mother</lastOne
<myGroup>
myGroup实际上包含更多的节点,但我只对特定的一个感兴趣。我要做的是检查它们是否为空,如果不是则显示它们。这样的:
<xsl:if test="something != ''">
<xsl:value-of select="something" />
</xsl:if>
<xsl:if test="anotherThing != ''">
<xsl:value-of select="anotherThing" />
</xsl:if>
等我要做的是停止显示,一旦我有3个非空节点。谢谢。
将条件放入谓词中:
<xsl:template match="myGroup">
<xsl:apply-templates select="(something | anotherthing | howAboutThis | lastOne)[normalize-space()][position() < 4]"/>
</xsl:template>
<xsl:template match="myGroup/*">
<xsl:value-of select="."/>
</xsl:template>