Subject: RE: xsl:analyze-string and line break
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 10 Oct 2007 14:12:21 +0100
|
I've no idea of the history that caused "." to have this meaning, but your
observation is correct. To make "." match a newline, use flags="s" on the
xsl:analyze-string instruction.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Mathieu Malaterre [mailto:mathieu.malaterre@xxxxxxxxx]
> Sent: 10 October 2007 11:29
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: xsl:analyze-string and line break
>
> Hello,
>
> I am trying to do a regex on an expression with line
> breaks, for some reason '.' does not include line break. I
> also tried [.\n]* to say anything including line break, with no luck.
>
> xml file is:
>
> <?xml version="1.0"?>
> <description>Sex of the named patient. Enumerated Values:
> M = male
> F = female
> O = other</description>
>
>
> and xsl file is:
> <?xml version="1.0"?>
> <xsl:transform
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
> <xsl:output method="xml" indent="yes"/>
> <xsl:template name="parse-enum">
> <xsl:param name="text"/>
> <xsl:analyze-string select="$text" regex="\n">
> <xsl:matching-substring>
> <!--br/-->
> </xsl:matching-substring>
> <xsl:non-matching-substring>
> <enum>
> <xsl:value-of select="."/>
> </enum>
> </xsl:non-matching-substring>
> </xsl:analyze-string>
> </xsl:template>
> <xsl:template match="/description">
> <xsl:analyze-string select="." regex=".*Enumerated
> Values:([.\n]*)">
> <xsl:matching-substring>
> <xsl:value-of select="regex-group(1)"/>
> </xsl:matching-substring>
> </xsl:analyze-string>
> </xsl:template>
> </xsl:transform>
>
> Thanks,
>
>
>
> --
> Mathieu
|