[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] ganttproject xsl layout challange
- From: David Carlisle <davidc@nag.co.uk>
- To: alanloughlin@yahoo.com
- Date: Tue, 28 Nov 2006 12:53:57 GMT
> so how does this keys thing work then?
more of an xsl-list question that an xml-dev one, but basically whenever
you have
/some/path/to/elem[@foo=something]
then instead of searching to find an elem with that property every time,
you can tell the system to make an internal index or hash table or
whatever it wants to speed things up,
<xsl:key name="alloc" match="allocation" use="@task-id"/>
<xsl:key name="resource" match="resource" use="@id"/>
then key('alloc',...) will quickly return the allocations with id ...,
so you can replace
<xsl:for-each select="../../allocations/allocation[task-id =current()/id]">
<xsl:for-each select="../../resources/resource[id = current()/resource-id]">
<xsl:value-of select="name"/>
</xsl:for-each>
</xsl:for-each>
by something like
<xsl:for-each select="key('resource',key('alloc',@id)/@resource-id)">
<xsl:value-of select="@name"/>
</xsl:for-each>
David
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]