expression value not a node set on content match

Subject: expression value not a node set on content match
From: John Robert Gardner <jrgardn@xxxxxxxxx>
Date: Wed, 3 May 2000 16:08:19 -0400 (EDT)
More of the same . . . surely missing the obvious here . . . 

If I have

<?xml version="1.0"?>
				<data-field tag="040">
			<subfield code="c">ATLA</subfield>
		<data-field tag="100" ind1="1">
			<subfield code="a">Hull, John.</subfield>
		<data-field tag="773" ind1="0">
			<subfield code="g">21 (Aut 1998), p.
			<subfield code="x">0141-6200</subfield>
		<data-field tag="040">
			<subfield code="c">ATLA</subfield>
		<data-field tag="100" ind1="1">
			<subfield code="a">Malone, Patricia.</subfield>
				<data-field tag="773" ind1="0">
			<subfield code="g">22 (Aut 1998), p.
			<subfield code="x">0000-1234</subfield>

and I only want ot pull out those few <record>'s with given content in
data-field[@tag='773']/subfield[@code='g'] --in other words a
record with text string 0000-1234 in subfield[@code='g'] of
data-field[@[tag='773'] ALONG WITH a test string of say "21 " (note the
space- do I use &#?) in subfield[@code='x'] of same datafield[@tag='773']
in that record, what gives?  I'm using 

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="";

<xsl:output type="xml" indent="yes"/>

<xsl:template match="marc">

<xsl:apply-templates select="record[*[@tag='773']/*[@code='g'
[contains(., '21 ')]] 
and record[*[@tag='773']/*[@code='x'
[contains(., '0141-6400')]]"/>


And I keep getting the error that line 10 (where the "select" begins)
can't be converted to a node set.  I need to get all elements and
attributes and text of any record which has 0141-6400 as teh text of the x
subfield of data-field 773 _AND_ 21&nbsp; of the g subfield in the 773
data field also.

John Robert Gardner, Ph.D.
XML Engineer
Emory University
"If there is something you're thinking of doing, or wish you could do,
begin it.  In boldness there is mystery and power . . . . "  -Goethe

 XSL-List info and archive:

Current Thread