У меня есть код, который проверяет, что 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>
Есть идеи?