Re: [xsl] "Illegal character in authority" error running java Saxon under Windows

Subject: Re: [xsl] "Illegal character in authority" error running java Saxon under Windows
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 20 Feb 2008 10:04:36 +0000
On 20/02/2008, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> Difficult to be more specific about why your URI is invalid since you've
> modified it for public consumption. But I suspect you are trying to supply a
> UNC filename rather than a URI. Products vary on how tolerant they are of
> that kind of thing, but it's not allowed by the specs.

He did mention towards the bottom of the email:

> > Note that there's a space in the SYSTEM name of the entity.
> > If I remove it, the XSLT script runs just fine.  So it looks
> > like the space is the "Illegal character".

Spaces aren't allowed in URIs, but the spec does say:

"System identifiers (and other XML strings meant to be used as URI
references) may contain characters that, according to [IETF RFC 3986],
must be escaped before a URI can be used to retrieve the referenced
resource. The characters to be escaped are the control characters #x0
to #x1F and #x7F (most of which cannot appear in XML), space #x20, the
delimiters '<' #x3C, '>' #x3E and '"' #x22, the unwise characters '{'
#x7B, '}' #x7D, '|' #x7C, '\' #x5C, '^' #x5E and '`' #x60, as well as
all characters above #x7F. "

http://www.w3.org/TR/REC-xml/#dt-sysid

So it should be fine to have spaces in system identifiers.  The next
step should be to try a newer version of Xerces (or whichever parser
you're using) and go from there...


cheers
-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread