Hi-
Thanks for your solution... the only problem is that this solution
seems to run very slowly.
If I replicate 1500 copies of the class with id="2" and 1500 with the
teacher with id="9",
then the query takes almost 30 seconds using Saxon8 on a 2Ghz Core 2
Duo even though
the query only matches 1 record. Any ideas on speeding that up?
I included a fixed version of the xml doc below, too.
Aaron
<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>
On 7/14/07, Mukul Gandhi <gandhi(_dot_)mukul(_at_)gmail(_dot_)com> wrote:
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>
--~--
--~------------------------------------------------------------------
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>
--~--