This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: namespace dynamic declaration


Hi Andrea,

> in Xsl i'd like to do something like this:
>
> <xsl:attribute name="xmlns:myprefix"><xsl:value-of select="any XPath
> expression"/></xsl:attribute>
>
> but for Xsl this is an error (because attribute name begin with
> "xmlns").

Yes; more because XSLT doesn't consider namespace declarations
(xmlns:* attributes) to be attributes.

> How can i do? I mean: i would create a namespace dynamically using
> an XPath expression, because I need to create (by xsl
> transformation) a Schema like this:
>
> <xsd:schema targetNamespace="my dynamic namespace"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:myprefix="my
> dynamic namespace">...

The only method of doing this at the moment is to add a dummy
attribute in the namespace that you want:

  <xsl:attribute name="myprefix:dummy"
                 namespace="{my dynamic namespace}" />

This will force the XSLT processor to add a namespace declaration for
the required namespace and with the required prefix.

The other thing that you might be able to do, if your source document
contains a namespace node for the namespace that you want to add, is
to copy the namespace node from the source to the result, with
something like:

  <xsl:copy-of select="namespace::myprefix" />

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]