xsl-list
[Top] [All Lists]

Re: [xsl] copying namespaces question

2012-07-02 05:49:48
On 2 July 2012 11:40, Michael Kay <mike(_at_)saxonica(_dot_)com> 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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--