使用xsl确定一个特定标记是否后跟另一个特定标记

时间:2018-06-13 14:36:02

标签: xslt

我有代码检查head1是否为空并写入错误日志:

<xsl:template match="w:p[w:pPr/w:pStyle/@w:val='head1']">
    <xsl:variable name="elementValue">
        <xsl:apply-templates mode="title.text.only" />
    </xsl:variable>
    <xsl:choose>
        <xsl:when test="$elementValue = ''">
            <xsl:message>ERROR: Encountered an head 1 paragraph with no text content.</xsl:message>
            <xsl:call-template name="revealDocPosition"/>
        </xsl:when>
        <xsl:otherwise>
            <xsl:call-template name="sectionTitle" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

但是我还想要检查代码是否检查head1后面的标签是否为body标签,如果没有,请给我一个错误。我不关心body标签的内容,只是h1后跟body标签。我不知道如何做到这一点,除了我对使用正则表达式的研究没有成功。我不能成为第一个检查这个或类似的人。是这样的事情在错误的树上咆哮:

<xsl:when test=following-sibling::$elementValue[1][self::body]>
    <xsl:otherwise>
    <xsl:message>ERROR: Encountered an head 1 paragraph that was not followed by a body tag.</xsl:message>
    <xsl:call-template name="revealDocPosition"/>
    </xsl:otherwise>
</xsl:when>

有什么想法吗?

0 个答案:

没有答案