| Subject: Re: [xsl] checking if an element starts-with a certain string  using keys From: David Carlisle <davidc@xxxxxxxxx> Date: Mon, 14 Feb 2005 10:17:17 GMT | 
    Thanks for the answer, it works partly. I forgot to tell that the code 
    in the structure file can also be longer: for example:
    
    <field>
        <code>PYTT/030/040</code>
        <element/>
    </field>
    <field>
        <code>PYTT/030/040/050</code>
        <element/>
    </field>
    
    There should be a longest match. So the following element should match 
    the second field:
    <org code="PYTT/030/040/050/060">
    
If you want to use keys you should probably use a key of
match="field" use="code"
and then just (in this example) use
select="
  key('c','PYTT') |
  key('c','PYTT/030') |
  key('c','PYTT/030/040') |
  key('c','PYTT/030/040/050/060')
 "
you could use a tokenize() extension function or a recursive template to
split up your org/@code attribute inorder to find all teh strings to
look up. this means that you only do the substring handling once not
while testing each field
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 -> | 
|---|---|---|
| Re: [xsl] checking if an element st, Harm Kok | Thread | RE: [xsl] checking if an element st, tom . kirkpatrick | 
| Re: [xsl] checking if an element st, Harm Kok | Date | RE: [xsl] Generating a CSV file usi, Ian Vaughan | 
| Month |