Subject: RE: copying namespaces question
From: Robby Pelssers <Robby.Pelssers@xxxxxxx>
Date: Tue, 3 Jul 2012 10:46:26 +0200
|
For the ones interested ... I wrote an article explaining 2 approaches used to
solve the problem:
http://robbypelssers.blogspot.nl/2012/07/splitting-xml-content-into-multiple.
html
Thx for the help !!
Robby
-----Original Message-----
From: Robby Pelssers [mailto:Robby.Pelssers@xxxxxxx]
Sent: Monday, July 02, 2012 12:53 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: copying namespaces question
It seems like great minds think alike !! ;-)
Thx a lot (again)... !!!!
Robby
-----Original Message-----
From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx]
Sent: Monday, July 02, 2012 12:50 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: copying namespaces question
On 2 July 2012 11:40, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> I think I would do it like this:
bah, as I was typing it out....
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* ,node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:for-each select="//*:object">
<xsl:result-document href="path/to/{*:name}.xml">
<xsl:apply-templates select="root(.)/*">
<xsl:with-param name="current-object" select="."
tunnel="yes"/>
</xsl:apply-templates>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
<xsl:template match="*:object">
<xsl:param name="current-object" tunnel="yes"/>
<xsl:if test=". is $current-object">
<xsl:copy>
<xsl:apply-templates select="@*, node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
--
Andrew Welch
http://andrewjwelch.com
|