xsl-list
[Top] [All Lists]

Re: Selecting a node based on two sub-element values

2005-02-15 08:58:45
 
   Michael Kay writes:
   > > 
   > > <xsl:if test="*[1]/VALUE/text() = 'AA' 
   > 
   > It's rarely a good idea to use /text() in this kind of comparison: better 
to
   > compare the value of the element itself:
   > 
   > test="*[1]/VALUE = 'AA'

   Can I then infer that I should refactor this test expression

           org_list/org_code[(_at_)type='APPR' and text()='ANSI']

   to

           org_list[org_code(_at_)type='APPR' and org_code='ANSI']

   Thanks,
   -- 
   Kevin Rodgers


well it should be org_code/@type='APPR' or course not
org_code(_at_)type='APPR' but that isn't equivalent (in general) it searches
for org_code twice and it might return different nodes, ie the attribute
might not be on the child with value ANSI of course you may have a dtd
or schema that ensures there is only one org_code child in this
particular case.

You can do


           org_list/org_code[(_at_)type='APPR' and .='ANSI']


using . rather than text()

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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--