|
Subject: [xsl] keys with composite values From: "Borenstein, Philip" <pb@xxxxxxxxxx> Date: Thu, 18 Jul 2002 17:08:42 -0400 |
I'm getting some unexpected results with keys that use composite values. The
problem, distilled to the minimum looks like this: I want to retrieve the
FEATURE elements that satisfy particular VERSIONs. For example, if I specify
version 1.0, I want to get both 'Slices' and 'Dices'. If I specify version
1.1, I want only 'Slices'.
I use a composite key for the version. It seems I should be able to say
key('features', '10') for version 1.0 features and key('features', '11') for
version 1.1 features.
What I get depends on the other of VERSION elements:
key('features', '11') => Slices
key('features', '10') => Dices (but not Slices)
If I switch the VERSION elements in the 'Slices' FEATURE:
key('features', '11') => empty
key('features', '10' => Slices and Dices
This happens in both Saxon and MSXSL, so I'm guessing there's something I'm
not understanding about keys with composite values.
XML source:
<FEATURES>
<FEATURE NAME="Slices">
<VERSION MAJOR="1" MINOR="1"/>
<VERSION MAJOR="1" MINOR="0"/>
</FEATURE>
<FEATURE NAME="Dices">
<VERSION MAJOR="1" MINOR="0"/>
</FEATURE>
</FEATURES>
XSLT stylesheet:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="features"
match="FEATURE[VERSION]"
use="concat(VERSION/@MAJOR,VERSION/@MINOR)"/>
<xsl:template match="FEATURES" >
<CONTENT>
<xsl:copy-of select="key('features', '11')" />
</CONTENT>
</xsl:template>
</xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] ArborText Math DTD -> Lat, David Carlisle | Thread | Re: [xsl] keys with composite value, J.Pietschmann |
| Re: [xsl] XSL-FO Vertical Text Orie, J.Pietschmann | Date | RE: [xsl] Non-well-formed HTML in X, McNally, David |
| Month |