我希望能够使用XSL计算XML文件中的"端点".通过端点我的意思是标签没有包含数据的子节点.
即
<xmlsnippet>
<tag1>NOTENOUGHDAYS</tag1>
<tag2>INVALIDINPUTS</tag2>
<tag3>
<tag4>
<tag5>2</tag5>
<tag6>1</tag6>
</tag4>
</tag3>
</xmlsnippet>
Run Code Online (Sandbox Code Playgroud)
这个XML应该返回4,因为有4个"端点"
<xsl:template match="/>
<xsl:value-of select="count(//*[not(*) and normalize-space() != ''])" />
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
这通过后代轴(//)递归整个XML树,查看*没有子元素节点(not(*))并包含除空格(normalize-space() != '')之外的数据的所有元素节点().
计算得到的节点集(在您的情况下返回4).