3

我有我的 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>

谢谢

4

1 回答 1

2

从您的示例中,我认为您应该使用内容样式但没有文本的 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>
于 2013-06-17T10:00:55.657 回答