AW: AW: [xsl] select 1st occurence of element tag name

Subject: AW: AW: [xsl] select 1st occurence of element tag name
From: Nikolas.Nehmer@xxxxxxxxxxx (Nikolas Nehmer)
Date: Sun, 15 Feb 2004 21:45:42 +0100
Yes you are right it's a very informative page. But I have another
problem anyway. I'm using a cascade of XSL files. One which serves as
interface e.g. person.xsl for all person xmls and dependent on the
person xml it calls a specific xsl. So in my case the key definition
should base on a param which holds the nodeset to transformed. BUT the
key definition is made before the param is defined within the template:

<xsl:key name="elements-by-name" match="/*/*" use="name(.)" />
  	<xsl:template name="default">
	<xsl:param...

So the match attribute /*/* should base on the param which is defined
later (because xsl:key has to be drclared as top level element)! Is
there any solution except referencing this XSL directly from the XML
file?

Best regards,
Nick

|-----Ursprüngliche Nachricht-----
|Von: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-
|list@xxxxxxxxxxxxxxxxxxxxxx] Im Auftrag von J.Pietschmann
|Gesendet: Sonntag, 15. Februar 2004 17:54
|An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
|Betreff: Re: AW: [xsl] select 1st occurence of element tag name
|
|Nikolas Nehmer wrote:
|> Thanks a lot but this version doesn't work as well. The output it
|> produces is:
|> <table xmlns="http://www.w3.org/1999/xhtml";>
|> 	<tr>
|> 		<th>Person</th>
|> 	</tr>
|> </table>
|>
|> So it seams to pick the top level elements not the second level
|> elements. But when I try to use /*/* in the match attribute it
doesn't
|> help. Any suggestions?
|
|You have to use the same context in both the key and the
|key retrieval:
|  <xsl:key name="elements-by-name" match="/*/*" use="name(.)" />
|  <xsl:template match="/*">
|    <xsl:variable name="unique-elements" select="*[generate-id()=
|     generate-id(key('elements-by-name',name(.)))]"/>
|...
|    <html>
|      <table>
|        <tr>
|          <xsl:apply-templates select="$unique-elements" mode="header"
/>
|        </tr>
|     ...
|      </table>
|    </html>
|  </xsl:template>
|
|Wouldn't you think it's a good idea to read the URLs I posted? There
|is much background information as well as more extensive examples for
|how to use these techniques. Understanding why it's supposed to work
|will save you a lot of trial-end-error type work.
|
|J.Pietschmann
|
| XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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


Current Thread