我有我的 xml 的以下部分。
情况1:
<para>
<content-style font-style="bold">Affidavit</content-style>
</para>
案例2:
<para>This is a different <content-style font-style="bold">Affidavit</content-style> case
</para>
如果只有节点存在(案例 1),但如果它也有文本(案例 2),我想要这里的控件调用节模板。我尝试了下面的 xslt,但它不起作用。请让我知道该怎么做。
<xsl:template match="para">
<xsl:choose>
<xsl:when test="child::content-style/node[1]">
<xsl:call-template name="section"/>
</when></xsl:choose>
</xsl:template>
谢谢
最佳答案
从您的示例中,我认为您应该为具有内容样式但没有文本的 para 调用模板部分。
最好的方法是这样的:
<xsl:template match="para" />
<xsl:template match="para[content-style][not ( text() )]">
<xsl:call-template name="section"/>
</xsl:template>
使用 xsl:when 应该这样做:
<xsl:template match="para" >
<xsl:choose>
<xsl:when test="content-style and not(text())">
<xsl:call-template name="section"/>
</xsl:when>
</xsl:choose>
</xsl:template>
关于xslt - 检查是否有节点但没有文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17144674/