Thanks Charles. However, if fear that the <xsl:choose> solution (below)
would move the problem I'm having into the other named templates.
Specifically the "euro" template which should do a SUM() on a selection
-
but not all - stores.
I'll try to better summarse my problem...
Given...
<root>
<store location="london">
<staff>100</staff>
</store>
<store location="new york">
<staff>200</staff>
</store>
<store location="paris">
<staff>50</staff>
</store>
<store location="madrid">
<staff>25</staff>
</store>
<store location="tokyo">
<staff>125</staff>
</store>
</root>
How can I do something along the lines of
SUM( staff for london, madrid, paris )
where the list of locations is dynamic (possibly in a separate XML
document).
I don't know if this makes it any clearer.
Regards,
Chris
I want to know if there is a preferred method of filtering out
multiple parts of a large XML using some form of parameter
list/document.
I suggest two possible approaches, neither of which is what
you describe:
1) Create a stylesheet for each view and select the
appropriate one based on values from the query string of the
submitting page.
2) Create a "view" parameter in single stylesheet with a
large <xsl:choose> section. Then create individual named
templates to be called based on the value of the view
parameter as determined in the <xsl:choose>. Like this:
<xsl:param name="view" />
<xsl:template match="/">
<xsl:choose>
<xsl:when test="$view = 'global'>
<xsl:call-template name="global" />
</xsl:when>
<xsl:when test="$view = 'euro'>
<xsl:call-template name="euro" />
</xsl:when>
<xsl:when test="$view = 'london'>
<xsl:call-template name="london" />
</xsl:when>
<xsl:when test="$view = 'new york'>
<xsl:call-template name="new-york" />
</xsl:when>
<xsl:when test="$view = 'paris'>
<xsl:call-template name="paris" />
</xsl:when>
<xsl:when test="$view = 'madrid'>
<xsl:call-template name="madrid" />
</xsl:when>
<xsl:when test="$view = 'tokyo'>
<xsl:call-template name="tokyo" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="not-authorized" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list