|
Subject: Re: [xsl] struggling with <xsl:analyze-string> From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 26 Jan 2005 15:21:54 GMT |
I know that speed isn't so important if you are not getting the correct
answer but:
<xsl:for-each
select="part/section//*[preceding::par[@class='45_UeberschrPara' and
contains(., 'In-Kraft-Treten')]]">
maybe the optimiser will re-arrange that but on the face of it you have
managed to combine two of the most expensive operations (// and
preceding::) and recursively call one from the other.
the above searches the whole document below part/section to arbitarary
depth and then _for each_ found element searches back over the whole
document for a par with that property. If your par are siblings which
appears to be the case it's equivalent to
part/section/par[@class='45_UeberschrPara' and
contains(., 'In-Kraft-Treten')]/following-sibling::*
> I suppose that the curly bracetts are giving my troubles...
The regex attribute is an attribute value template so {} will be exeuted
as an Xpath and the resulting string used in place of the AVT so the
regex there is \d4 you need {{ }} to make a {} group as in any AVT.
It may be just because you have simplifed too much but it would look as
if you don't need to use analyze-string here at all but just add
[matches(.,'\d{4}')]
to the select expression in your for-each.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] struggling with <xsl:analyze-, Huditsch Roman | Thread | RE: [xsl] struggling with <xsl:anal, Michael Kay |
| Re: [xsl] XML to XML conversion, António Mota | Date | RE: [xsl] XML to XML conversion, Touchtel |
| Month |