| 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 | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| RE: [xsl] "Illegal character in aut, Michael Kay | Thread | Re: [xsl] "Illegal character in aut, Owen Rees | 
| RE: [xsl] Using native XPath in IE , Joe Fawcett | Date | Re: [xsl] "Illegal character in aut, Owen Rees | 
| Month |