Я пытаюсь найти ситуации, когда за тегом заголовка (head1) не следует тег тела.
Вот фрагмент того, что я искал, "head1" и "body":
<title role="head1">Third-Party Notices and/or Licenses</title>
<para role="body">Required notices for open source software products or components used by Cloud are identified in the following table along with the applicable licensing information.</para>
А вот код, который я пытаюсь (пустой код head1 отлично работает):
<xsl:template match="w:p[w:pPr/w:pStyle/@w:val='ahead1']">
<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>
<!-- Code to check to see that a head1 is directly followed by a body tag -->
<xsl:when test="[$elementValue]and not[following-sibling::*[1][self::atgbody]]">
<!-- <xsl:when test="not[$elementValue][following-sibling::*[1][self::atgbody]]"> -->
<xsl:message>ERROR: Encountered an atg head 1 paragraph that was not follwed by an atgbody.</xsl:message>
<xsl:call-template name="revealDocPosition"/>
</xsl:when>
Сбой в моей сборке, потому что ему не нравится синтаксис:
[java] Error at xsl:when on line 30 column 84 of headings.xsl:
[java] XPST0003: XPath syntax error at char 0 on line 30 in {[$}:
[java] Unexpected token "[" in path expression
[java] Failed to compile stylesheet. 1 error detected.
Я пробовал другой синтаксис, и он либо не работает, либо запускается и не находит ошибку.
Идеи?