[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

AW: struggling with <xsl:analyze-string>

Subject: AW: struggling with <xsl:analyze-string>
From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Date: Wed, 26 Jan 2005 17:14:24 +0100
roman anal
Ok, solved it.

<xsl:for-each select="part/section/par[@class='45_UeberschrPara' and
contains(text(), 'In-Kraft-Treten')]/following::text()">
	<xsl:analyze-string select="." regex="\d{{1,2}}.+\d{{4}}">
		<xsl:matching-substring>
			<xsl:call-template name="get.date">
				<xsl:with-param name="text" select="." as="xs:string"/>
			</xsl:call-template>
		</xsl:matching-substring>
	</xsl:analyze-string>
</xsl:for-each>

This code snippet does what I expected.
Would be nice to know if matches() would get me the same result...

wbr,
Roman
_______________________________________

Roman Huditsch
IT and Electronic Publishing
LexisNexis ARD Orac
Marxergasse 25
1030 Vienna
Austria
ph: +43-1-534 52-1514
f: +43-1-534 52-140
e-mail roman.huditsch@xxxxxxxxxxxxx
www.lexisnexis.at


> -----Urspr|ngliche Nachricht-----
> Von: David Carlisle [mailto:davidc@xxxxxxxxx]
> Gesendet: Mittwoch, 26. Januar 2005 16:22
> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Betreff: Re:  struggling with <xsl:analyze-string>
>
>
> 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.