RE: [xsl] listing values in a key

Subject: RE: [xsl] listing values in a key
From: Stuart Brown <sbrown@xxxxxxxxxxx>
Date: Mon, 17 Mar 2003 11:58:14 -0000
Hi Jan,

> I am having problems with this xml:
> 
> 	<xsl:key name="GROUPowner" match="TTMAKER/NEWTREE/GROUP"
> use="concat('@SimpleTypeName',' ','@CategoryOrGroupParent')"/>

There may be additional problems (it's hard to tell without a sample of the
XML itself) but for a start you have put inverted commas round the attribute
names in the use attribute of your key definition, which means they are
treated as strings, not nodes. You have effectively stated:

<xsl:key name="GROUPowner" match="TTMAKER/NEWTREE/GROUP"
  use="'@SimpleTypeName @CategoryOrGroupParent'"/>

You probably want:

<xsl:key name="GROUPowner" match="TTMAKER/NEWTREE/GROUP"
  use="concat(@SimpleTypeName,' ',@CategoryOrGroupParent)"/>

I suspect you have made the same error in your definition of the variable
start. What you have:

> 	<xsl:variable name="start" select="concat('SP100',' ','File
> CopyBook')"/>

is exactly equivalent to :

<xsl:variable name="start" select="'SP100 File CopyBook'"/>

as you are just concatenating three strings. If SP100 and FileCopyBook are
elements whose values you want to use, you again want:

<xsl:variable name="start" select="concat(SP100,' ',FileCopyBook)"/>

Hope that helps,

Stuart

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


Current Thread