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 |