|
Subject: Re: expression value not a node set on content match From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 4 May 2000 18:03:39 +0100 (BST) |
You deleted the (needed) and operator that was in the example that you
quoted.
You have the expression
record[ @tag='773'/*[@code='g' contains(text(),'21 ')
^
and *[ @code='x'
and contains(text(),'0141-6400')
but the error is where I put the ^.
Inside the [] you have to have a boolean valued expression
(you get the nodes on which the expression evaluates to true.
@code='g'
is the boolean expression returning true on nodes with an
attribute with name code and value g.
contains(text(),'21 ')
is a boolean expression that is true on nodes with a text node
child that contains the substring '21 '
you need to combine those expressions with an operator like and or or
you can't just run them together,
You do use and to connect your third subterm which is
*[ @code='x' and contains(text(),'0141-6400') ]
This is a node set valued term but will coerce to a boolean being true
as long as the node set is non-empty, ie if there is some child of your
record element, such that the child has a code attribute with value x
and character data containing 0141-6400
David
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: expression value not a node set, John Robert Gardner | Thread | Re: expression value not a node set, John Robert Gardner |
| Escaping for use in URLs, ed billings | Date | Re: expression value not a node set, John Robert Gardner |
| Month |