|
Subject: RE: [xsl] converting flat xml data into heirarchy structure From: "Andreas L. Delmelle" <a_l.delmelle@xxxxxxxxxx> Date: Mon, 9 Feb 2004 10:58:28 +0100 |
> -----Original Message-----
> From: David Buddrige
>
Hi David,
> I have a source document that is currently being
> generated from an Oracle database - it is effectively
> a table dump in xml format of the "scope" table.. It
> has the following structure.
>
<snip />
I think, the best way to go about this is something like:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:template match="scopes">
<!-- apply templates on all scope elements
with parent_id '0' -->
<xsl:apply-templates select="scope[@parent_id='0']" />
</xsl:template>
<xsl:template match="scope">
<!-- create a var to hold the current scope's id -->
<xsl:variable name="vId" select="@id" />
<xsl:copy>
<!-- copy attributes -->
<xsl:apply-templates select="@*" />
<scopes>
<!-- now apply templates on all scope elements
with parent_id equal to current id -->
<xsl:apply-templates select="//scope[@parent_id=$vId]" />
</scopes>
</xsl:template>
Caution: this solution would create empty 'scopes' elements when there are
no 'scope' elements that satisfy the condition '@parent_id=$vId'. You could
test for this with an xsl:if first.
Hope this helps!
Cheers,
Andreas
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] converting flat xml data into, David Buddrige | Thread | RE: [xsl] converting flat xml data , Andreas L. Delmelle |
| RE: [xsl] preceeding sibling on a f, marina | Date | Re: [xsl] Re: text() word lists, David Carlisle |
| Month |