Subject: Re: [xsl] Selecting a node based on two sub-element values From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 15 Feb 2005 15:58:45 GMT |
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[@type='APPR' and text()='ANSI'] to org_list[org_code@type='APPR' and org_code='ANSI'] Thanks, -- Kevin Rodgers well it should be org_code/@type='APPR' or course not org_code@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[@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 ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Selecting a node based on, Kevin Rodgers | Thread | RE: [xsl] Selecting a node based on, Michael Kay |
RE: [xsl] Selecting a node based on, Kevin Rodgers | Date | [xsl] html to xml non breaking spac, Aaron Johnson |
Month |