On Fri, Jul 4, 2008 at 3:30 PM, Joe Fawcett <joefawcett(_at_)hotmail(_dot_)com>
wrote:
Seems to me that the empty string doesn't match or mismatch:
<data>
<para>C.1</para>
<para>F.1</para>
<para></para>
<para>H.1</para>
<para>F.2</para>
</data>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="myregex">^([CF]\.[0-9\.]+)\s*(.*)$</xsl:variable>
<output>
<xsl:for-each select="data/para">
<input><xsl:value-of select="."/></input>
<xsl:analyze-string select="." regex="{$myregex}">
<xsl:matching-substring>
<match>
<xsl:value-of select="."/>
</match>
</xsl:matching-substring>
<xsl:non-matching-substring>
<nonmatch>
<xsl:value-of select="."/>
</nonmatch>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:for-each>
</output>
</xsl:template>
</xsl:stylesheet>
I get (with Saxon 9.1):
<output>
<input>C.1</input>
<match>C.1</match>
<input>F.1</input>
<match>F.1</match>
<input/>
<input>H.1</input>
<nonmatch>H.1</nonmatch>
<input>F.2</input>
<match>F.2</match>
</output>
How, ok I did not realized that, it was simply going through.
So how do I make it a non-match ?
thanks,
--
Mathieu
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--