xsl-list
[Top] [All Lists]

Re: [xsl] XPath equivalent of a join

2007-07-14 04:48:14
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>
--~--

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