RE: [xsl] xslt 2, design patterns

Subject: RE: [xsl] xslt 2, design patterns
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 4 Oct 2004 10:55:26 +0100
It depends a bit on the detail I think. In general I would go for

<xsl:choose>
<xsl:when test="matches(., regex1)">...
<xsl:when test="matches(., regex2)">... 
<xsl:otherwise>...

But there may be cases where using xsl:non-matching-substring works better.

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



> -----Original Message-----
> From: Pawson, David [mailto:David.Pawson@xxxxxxxxxxx] 
> Sent: 04 October 2004 09:39
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] xslt 2, design patterns
> 
> I'm beginning to use xslt 2.0 more and more for 
> 'uptransforms' as Omnimark call them,
> i.e. getting some regular text into xml.
> 
> My general pattern has been
> tokenise ($input, 'chunk-separator')
>   analyze-string(.,'regex')
>     matching-substring
>         process regex-group(n)
>     non-matching-substring
> 
> 
> perl has a pattern of repeated matching on the input
> 
>  while more input {
>     if (match . regex) { process match}
>     if (match . regex) {process match}
>     else {otherwise clause}
> }
> 
> I.e. the series of if statements is tried successively, until
> there is a match or all fail.
> 
> I find this very useful as a pattern. 
> 
> Is it possible to emulate this in xslt 2.0?
> using the non-matching-substring to nest analyze-string statements
> seems rather laboured?
> 
> Any advice please?
> 
> 
> 
> 
> 
> Regards DaveP.
> 
> **** snip here *****
> 
> -- 
> DISCLAIMER:
> 
> NOTICE: The information contained in this email and any 
> attachments is 
> confidential and may be privileged.  If you are not the intended 
> recipient you should not use, disclose, distribute or copy any of the 
> content of it or of any attachment; you are requested to notify the 
> sender immediately of your receipt of the email and then to delete it 
> and any attachments from your system.
> 
> RNIB endeavours to ensure that emails and any attachments generated by
> its staff are free from viruses or other contaminants.  However, it 
> cannot accept any responsibility for any  such which are transmitted.
> We therefore recommend you scan all attachments.
> 
> Please note that the statements and views expressed in this email and 
> any attachments are those of the author and do not 
> necessarily represent
> those of RNIB.
> 
> RNIB Registered Charity Number: 226227
> 
> Website: http://www.rnib.org.uk

Current Thread