RE: [xsl] regex help, please

Subject: RE: [xsl] regex help, please
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 21 Jan 2010 23:21:43 -0000
I suspect you meant select="doctext" regex="|".

"|" is a metacharacter in regular expressions. It needs to be escaped as \|
(or if you prefer, [|])

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay  

> -----Original Message-----
> From: Brian Newman [mailto:brian.newman@xxxxxxxxxxx] 
> Sent: 21 January 2010 23:08
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] regex help, please
> 
> I've got a pipe delimited list of data which I'd like to turn 
> into an Xml doc for further processing.
> 
> So, I use code something like 
> 
> <xsl:stylesheet version="2.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> xmlns:fo="http://www.w3.org/1999/XSL/Format"; 
> xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:fn="http://www.w3.org/2005/xpath-functions";>
> <xsl:template match="/">
> <xsl:analyze-string regex="doctext" select='|'> 
> <xsl:matching-substring></xsl:matching-substring>
> <xsl:non-matching-substring><item><xsl:value-of 
> select="."/></item></xsl:non-matching-substring>
> </xsl:analyze-string>
> <xsl:copy>
> 	<xsl:value-of select="$doctext/node()"/> </xsl:copy> 
> </xsl:template> </xsl:stylesheet>
> 
> Which doesn't work - it doesn't recognize the pipe as a regex.
> What should that regex be?
> I've also tried /| and [|].

Current Thread