Hi, where does the XSLT 2.0 spec say that neither matching-substring
nor non-matching-substring is executed if there is no occurrence of
any text matching the regex? Is this a bug in Saxon 7.3?
Here is an example:
<xsl:transform version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="data">
Palaver palaver pullover andover hover mover bother brother mother.
</xsl:variable>
<xsl:template match="/">
<xsl:analyze-string select="$data" regex="diagnosis">
<xsl:matching-substring>
<FOUND><xsl:value-of select="."/></FOUND>
</xsl:matching-substring>
<xsl:non-matching-substring>
<NOT><xsl:value-of select="."/></NOT>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
</xsl:transform>
this finds nothing at all, just discards the string, when I ask
for some regex that is in the string then it works as expected.
I can't find the specification saying that the string not matching
at all is a special case. And if it does, then isn't it a bit awkward?
Wouldn't the intuitive behavior be that the whole non-matching text
gets fed to the non-matching-substring side of it?
thanks,
-Gunther
--
Gunther Schadow, M.D., Ph.D.
gschadow(_at_)regenstrief(_dot_)org
Medical Information Scientist Regenstrief Institute for Health Care
Adjunct Assistant Professor Indiana University School of Medicine
tel:1(317)630-7960 http://aurora.regenstrief.org
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list