xsl-list
[Top] [All Lists]

Re: Differing behavior of Xalan and Saxon with namespaces. Who's right?

2003-03-13 14:55:28
"Passin, Tom" wrote:
Thanks Tom.  Suppose that I do want Saxon to carry the namespace
declaration from the stylesheet over to the result document.  How do 
I do it?  /Roger


You have to be more specific, Roger.  What is the input and what 
output do you want?  I'm not clear on what you mean by "carry over"  
the namespace declaration.

Sorry for being vague Tom.  Here's the input:

<?xml version="1.0"?>
<FitnessCenter>
        <Member level="platinum">
                <Name>Jeff</Name>
                <Phone type="home">555-1234</Phone>
                <Phone type="work">555-4321</Phone>
                <FavoriteColor>lightgrey</FavoriteColor>
        </Member>
        ...
</FitnessCenter>

Here's the stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                xmlns:fit="http://www.keeping-fit.org";
                version="1.0">
 
    <xsl:output method="xml"/>

    <xsl:template match="FitnessCenter">
        <FitnessCenter>
            <xsl:apply-templates/>
        </FitnessCenter>
    </xsl:template>

    <xsl:template match="*">
        <xsl:element name="{name(.)}">
            <xsl:for-each select="@*">
                <xsl:attribute name="{name(.)}">
                    <xsl:value-of select="."/>
                </xsl:attribute>
            </xsl:for-each>
            <xsl:apply-templates/>
        </xsl:element>
    </xsl:template>

</xsl:stylesheet>

Note the namespace declaration at the top of the stylesheet:

    xmlns:fit="http://www.keeping-fit.org";

Here's what I want the output to look like (and this is what Xalan
gives, but not Saxon):

<?xml version="1.0" encoding="UTF-8"?>
<FitnessCenter xmlns:fit="http://www.keeping-fit.org";>
        <Member level="platinum">
                <Name>Jeff</Name>
                <Phone type="home">555-1234</Phone>
                <Phone type="work">555-4321</Phone>
                <FavoriteColor>lightgrey</FavoriteColor>
        </Member>
        ...
</FitnessCenter>

Notice how the namespace declaration from the stylesheet has been
"carried over" to the result document (again, only with Xalan, but not
Saxon).  How do I get Saxon to "carry over" the namespace declaration to
the result file?  /Roger


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



<Prev in Thread] Current Thread [Next in Thread>