[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Wow...
Thanks a lot David, Colin and Rashmi.
On 4/29/07, David Carlisle <davidc@xxxxxxxxx> wrote:
Re: [xsl] How to split an RegEx into several lines for readability?
Subject: Re: [xsl] How to split an RegEx into several lines for readability? From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Sun, 29 Apr 2007 13:48:39 -0700 |
Wow...
Thanks a lot David, Colin and Rashmi.
Cheers, Dimitre
On 4/29/07, David Carlisle <davidc@xxxxxxxxx> wrote:
Colin has mentioned the x flag (which allows you to add ignored white space, also, since you are using xsl:analyze-string, the regex is an attribute value template so you can define the regexp parts separately and drop them in using {}.
For example this monster regex that matches tags in hmlparse
regex="<(/?){$d:elem}\s*(({$d:attr})*)(/?)>|{$d:comment}|{$d:pi}|{$d:doctype}|{$d:cdata}|({$d:msif})">
the regex that match each type of markup are in separate variables for readability, they are only used once, in this expression.
<xsl:variable name="d:attr" select="'(\i\c*)\s*(=\s*("[^"]*"|''[^'']*''|\c+))?\s*'"/>
<xsl:variable name="d:elem" select="'(\i\c*)'"/>
<xsl:variable name="d:comment" select="'<!\-\-[^\-]*(\-[^\-]+)*\-\->'"/>
<xsl:variable name="d:pi" select="'<\?\i\c*[^>]*>'"/>
<xsl:variable name="d:doctype" select="'<!D[^\[<>]*(\[[^\]]*\])?>'"/>
<xsl:variable name="d:msif" select="'<!\[(end)?if.*?\]>'"/>
<xsl:variable name="d:cdata" select="'<!\[CDATA(.|\s)*\]\]>'"/>
David
________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
-- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to split an RegEx int, David Carlisle | Thread | RE: [xsl] How to split an RegEx int, Michael Kay |
Re: [xsl] How to split an RegEx int, David Carlisle | Date | RE: [xsl] How to split an RegEx int, Michael Kay |
Month |