xsl-list
[Top] [All Lists]

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

2007-10-10 06:56:05
Maybe because text files can be UNIX escaped (\n), dos (\r\n) or mac
(can't remember).

Anyway regex are awsome !

2 cents,
-Mathieu

On 10/10/07, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
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(_dot_)malaterre(_at_)gmail(_dot_)com]
Sent: 10 October 2007 11:29
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--




-- 
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>