RE: [xsl] in-document references

Subject: RE: [xsl] in-document references
From: "Robert Koberg" <rob@xxxxxxxxxx>
Date: Mon, 6 Jan 2003 17:14:25 -0800
Hi again,

You example should work.  Does it work if you do:

> >>    <xsl:template match="ref">

<xsl:variable name="current_name" select="@name"/>

> >>      <li>Ref:
> >>        <b><xsl:value-of select="@name"/></b>
> >>        <ul>
<xsl:apply-templates
  select="//define[@name=$current_name]"
  mode="def"/>
> >>        </ul>
> >>      </li>
> >>    </xsl:template>

but this is very inefficient if you have a large schema with many define's.

<snip/>

> > To select just
> > descendants of the context node, do:
> >
> > <xsl:apply-templates select=".//define[@name=current()/@name]"
> > mode="def"/>

This is wrong. An RNG 'define' will not be in the context node.

>
> The problem is that the "context" of the context node includes the
> ancestor elements and so on, which I wish to access from <xsl:template
> match="define">. Does that make sense?

not understanding... ancestors are not in the context node.

>
> > (This doesn't address optimization of course--this search pattern can
> > be
> > quite expensive.)
>
> I can live with that, I'm using AxKit and static data.

You don't want to live with that :). I believe what you want is what I provided.
Let me know (offlist if you want) what did not make sense. I copied the examples
out of context with your examples so i can see how they might be confusing.

best,
-Rob

>
> simon
>
> ---
> www.simonwoodside.com
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread