XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] ganttproject xsl layout challange


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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS