I just ran into an interesting problem. I'm using Saxon but I don't think
it makes any difference.
In a stylesheet I can have the following:
<xsd:annotation xmlns="http://www.ACORD.org/standards/Support/xml/v1.0">
... output here with tags from my namespace ...
</xsd:annoation>
but change it to use a variable defined with the same value like this:
<xsd:annotation xmlns="{$docURL}">
... output here with tags from my namespace ...
</xsd:annoation>
And the result instead of having the value of the variable, generates
<xsd:annotation xmlns="{$docURL}>
Change xmlns to something like "foo" and I get the proper substitution.
Namespaces are special and all, but this is ridiculus! Why treat them any
different.
I also bumped into problems with trying to create an xmlns attribute with
the <xsl:attribute> element. Again, why do these have to be declared
directly without variable substitution and the only way that seems to work
is to use <xsl:element> except that will not allow me to create a default
namespace, it wants to declare the URL for the prefix used on the element
name being created.
..dan
---------------------------------------------------------------------------
Danny Vint
http://www.dvint.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list