The specification documents for XSLT 2 and 3 provide an EBNF which says that the content model of xsl:analyze-string is (xsl:matching-substring?, xsl:non-matching-substring?, xsl:fallback*), but the text of the document specifies an additional restriction:
The content of the xsl:analyze-string instruction must take one of the following forms:
A single xsl:matching-substring instruction, followed by zero or more xsl:fallback instructions
A single xsl:non-matching-substring instruction, followed by zero or more xsl:fallback instructions
A single xsl:matching-substring instruction, followed by a single xsl:non-matching-substring instruction, followed by zero or more xsl:fallback instructions
The existing grammar would allow for an empty xsl:analyze-string element, but this is actually not permitted.
The specification documents for XSLT 2 and 3 provide an EBNF which says that the content model of xsl:analyze-string is
(xsl:matching-substring?, xsl:non-matching-substring?, xsl:fallback*)
, but the text of the document specifies an additional restriction:The existing grammar would allow for an empty
xsl:analyze-string
element, but this is actually not permitted.