xsl-list
[Top] [All Lists]

[xsl] xmlns created literally

2009-02-26 06:17:06
We are allowed to create xmlns or xmlns:* the literal way, but we can
apparently not use attribute value template for the namespace. This is
probably not that surprising since we cannot create xmlns or xmlns:*
with xsl:attribute.

But it surprices me that we don't get an error message. The following
stylesheet is tested with Saxon 9 in Oxygen and with AltovaXML 2009 in
XMLSpy:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
    <xsl:output indent="yes"/>
    <xsl:template name="start" match="/">
        <xsl:param name="x" select="'asdf'"/>
        <catalog>
            <product xmlns="asdf">some data</product>
            <product xmlns="{$x}">some data</product>
        </catalog>
    </xsl:template>
</xsl:stylesheet>

We get the following output in Oxygen:

<catalog>
   <product xmlns="asdf">some data</product>
   <product xmlns="{$x}">some data</product>
</catalog>

And the following output in XMLSpy:

<catalog>
<product xmlns="asdf">some data</product>
<product xmlns="%7B$x%7D">some data</product>
</catalog>

The one even more strange than the other! Should it have been an error
message instead? Or should the attribute value template work?


Cheers,
Jesper Tverskov

http://www.xmlkurser.dk
http://www.xmlplease.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>
--~--

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