xsl-list
[Top] [All Lists]

Re: [xsl] XPath equivalent of a join

2007-07-14 04:04:59
Your input XML is not as per the XML spec (there should be double
quotes around attribute values).

If the above error is corrected in the XML, I found the following
solution to work:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">

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

 <xsl:template match="/root">
   <result>
     <xsl:copy-of select="class[teacher = ../teacher[gender =
'female']/@id]" />
   </result>
 </xsl:template>

</xsl:stylesheet>

On 7/14/07, Aaron Luke <bluenike(_at_)gmail(_dot_)com> wrote:
Hi all-

Given the following document:

<root>
 <class id="1">
   <teacher>5</teacher>
 </class>
 <class id="2">
   <teacher>9</teacher>
 </class>

 <teacher id=5>
   <gender>female</gender>
 </teacher>
 <teacher id=9>
   <gender>male</gender>
 </teacher>
</root>

Is there an XPath statement that selects all of the classes taught by
female teachers (in this case, just the first class)?
The field class.teacher is an id reference to teacher.id.

In sql, I would be looking for:

select class.* from class c, teacher t where c.teacher=t.id and
t.gender='female';

Can't seem to figure this one out- any help would be appreciated.

Aaron


--
Regards,
Mukul Gandhi

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>