[xsl] Re: Unwanted namespace prefix _0

Subject: [xsl] Re: Unwanted namespace prefix _0
From: Martin Holmes <mholmes@xxxxxxx>
Date: Mon, 23 Dec 2013 13:43:35 -0800
As I posted above, test files are here:

<http://web.uvic.ca/~lancenrd/test/test.xml>
<http://web.uvic.ca/~lancenrd/test/test.xsl>

I get the same result with Saxon _in_Oxygen_ whether I provide a prefix for the Examples namespace in the root stylesheet element or not; and whether or not I exclude it with exclude-result-prefixes. I do _not_ get the prefixes in the output if I run the transformation at the command line with Saxon. So the problem has something to do with the Oxygen context, but I can't figure out what it is.

Cheers,
Martin

On 13-12-23 01:39 PM, Michael Kay wrote:
To debug your code, we need to see your code.

Saxon generates a namespace prefix of the form "_0" in certain unusual circumstances when it is necessary to avoid binding the same prefix to two different URIs. To understand why this is happening for your stylesheet, I would need to see the (relevant part of) the stylesheet.

Michael Kay
Saxonica

On 23 Dec 2013, at 16:16, Martin Holmes <mholmes@xxxxxxx> wrote:

Hi all,

I'm doing an identity transform with Saxon 9.5.1.2 (HE, PE and EE all do the same) on a TEI file with embedded examples in the Examples namespace:

<TEI xmlns="http://www.tei-c.org/ns/1.0"; version="5.0">
[...]
<div>
<egXML xmlns="http://www.tei-c.org/ns/Examples"; valid="true">
  For more information, consult the
  <ref target="mol:linking#linking_graphics"> guide to
  linking graphic content</ref>.</egXML>
</div>
[...]
</TEI>

In the output, Saxon generates unwanted namespace prefixes, like this:

<_0:egXML xmlns:_0="http://www.tei-c.org/ns/Examples"; valid="true">
  For more information, consult the
  <_0:ref target="mol:linking#linking_graphics"> guide to
  linking graphic content</_0:ref>.</_0:egXML>

This is even though I have exclude-result-prefixes="#all", and it happens whether or not I define a prefix in the root stylesheet element for the Examples namespace.

What am I missing? How would I get output that looks exactly like the input?

Cheers,
martin

Current Thread