RE: [xsl] xsl:analyze-string and line break

Subject: RE: [xsl] 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] 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

Current Thread