"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