|
Subject: [xsl] another hierarchical problem From: Thomas Kielczewski <thomaskiel@xxxxxxxxx> Date: Thu, 28 Jun 2007 04:38:46 -0700 (PDT) |
Hi all,
Given the flat XML:
<root>
<skill>skill1</skill>
<procedure>procedure</procedure>
<note>note</note>
<supplies>supplies</supplies>
<cleanup>cleanup</cleanup>
<skill>skill2</skill>
...
</root>
I would like to structure this. I'm using the
generate-id/preceding-sibling method but unlike the
example I base this on, I would like to call ALL
elements types to be under it hierarchically
(following-sibling::*). However, when I try the
following XSLT, <skill> begins nesting ad infinitum,
eventually maxing out the memory allocated to saxon-j.
Can anyone see anything wrong with this?
<xsl:output method="xml" indent="yes" />
<xsl:strip-space elements="*"/>
<xsl:template match="skill">
<xsl:element name="{name()}">
<xsl:attribute name="id" select="text()"/>
<xsl:apply-templates
select="following-sibling::*[generate-id(preceding-sibling::skill[1])
= generate-id(current())]" />
</xsl:element>
</xsl:template>
<xsl:template match="*">
<xsl:copy-of select="." />
</xsl:template>
<xsl:template match="root">
<xsl:apply-templates select="skill" />
</xsl:template>
</xsl:stylesheet>
Perhaps another flat-to-hierarchical method is better
suited?
What if I need to create multiple levels of nesting?
Could that be done in a single stylesheet? Once I
solve my first problem, I could easily do it in
several passes. I also toyed with the idea of building
a structured "skeleton" of my parent element <skill>
into a template and then populating it. Is that an
accepted technique?
I appreciate any pointers,
Thomas Kiel
____________________________________________________________________________________
Choose the right car based on your needs. Check out Yahoo! Autos new Car Finder tool.
http://autos.yahoo.com/carfinder/
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Re: Thank you all![xsl] 0x19 , Vaduvoiu Tiberiu | Thread | RE: [xsl] another hierarchical prob, Michael Kay |
| [xsl] Re: Thank you all![xsl] 0x19 , Vaduvoiu Tiberiu | Date | RE: [xsl] another hierarchical prob, Michael Kay |
| Month |