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

RE: xsl:variable and node list

Subject: RE: xsl:variable and node list
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Fri, 15 Oct 2004 10:32:36 +0300
xsl lowercase
Hi,

> thats good but how would i translate this now
>
> <xsl:variable name="withaddress">
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@building,$upperCas
e,$lowerCase),
> translate($address,$upperCase,$lowerCase))='true']"/>
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@number,$upperCase,
> $lowerCase),tr
> anslate($address,$upperCase,$lowerCase))='true']"/>
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@street,$upperCase,
> $lowerCase),tr
> anslate($address,$upperCase,$lowerCase))='true']"/>
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@town,$upperCase,$l
> owerCase),tran
> slate($address,$upperCase,$lowerCase))='true']"/>
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@postcode,$upperCas
> e,$lowerCase),
> translate($address,$upperCase,$lowerCase))='true']"/>
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@country,$upperCase
> ,$lowerCase),t
> ranslate($address,$upperCase,$lowerCase))='true']"/>
>      <xsl:copy-of
> select="tblMIMCompanies[contains(translate(@address,$upperCase
> ,$lowerCase),t
> ranslate($address,$upperCase,$lowerCase))='true']"/>
>     </xsl:variable>

Firsth, you have

tblMIMCompanies[contains(translate(@building,$upperCase,$lowerCase),translate
($address,$upperCase,$lowerCase))='true']

which can be simplified to

tblMIMCompanies[contains(translate(@building,$upperCase,$lowerCase),translate
($address,$upperCase,$lowerCase))]

as contains() already returns a boolean value.

Anyhow, if the order is important here, i.e. tblMIMCompanies elements whose
@building matchs must come before the ones whose @number matchs, then you have
to use a different approach, ie. build the RTF and convert that into a
node-set using an extension function. Also, if the above can and must contain
dublicate tblMIMCompanies entries, then you have to go with the RTF to
node-set way.

But, if you just want a set, then

  <xsl:copy-of
select="tblMIMCompanies[contains(translate(@building,$upperCase,$lowerCase),t
ranslate($address,$upperCase,$lowerCase))
                                   and
contains(translate(@number,$upperCase,$lowerCase),translate($address,$upperCa
se,$lowerCase))
                                   and
contains(translate(@street,$upperCase,$lowerCase),translate($address,$upperCa
se,$lowerCase))
                                   and
contains(translate(@town,$upperCase,$lowerCase),translate($address,$upperCase
,$lowerCase))
                                   and
contains(translate(@postcode,$upperCase,$lowerCase),translate($address,$upper
Case,$lowerCase))
                                   and
contains(translate(@country,$upperCase,$lowerCase),translate($address,$upperC
ase,$lowerCase))
                                   and
contains(translate(@address,$upperCase,$lowerCase),translate($address,$upperC
ase,$lowerCase))]"/>

should get you there.

Cheers,

Jarno - Lights Of Euphoria: True Life

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.