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]

Re: ***********Transformation of an XML document containing a default namespace ************



> I tried doing something like this a few weeks ago and it didn't work
> for me.  There seems to be no way to control which namespace prefix
> (including the "empty" prefix) the serializer uses if there is more
> than one prefix for a given namespace URI.

there are two answers to this: "yes" and "no".

According to the spec, you _never_ get any control over th eprefixes
used, and it is perfectly OK for an XSLT serialiser to always use
prefixes like kmsqzzxss1: kmsqzzxss2: .... even if the stylesheet uses
fo: or whatever.  (So this is the no, it can't be done answer)

However most (all?) systems do in fact try to preserve the namespace
prefixes in most situtaions. What they do when the result tree has
namespace nodes giving different prefixes to the same namespace
is a bit variable, and because of the answer above, the spec isn't much
help. But the answer is to make sure that the result tree does _not_
have such repeated namespace nodes. In the example in this thread the
stylesheet declares the test namespace on "" and t: all it has to do is
make sure that none of the t namespace nodes get copied to the output.
One way to do that is to use xsl:element rather than literal result
elements as the latter copy all namespace nodes in scope.

David


_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

 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]