xsl-list
[Top] [All Lists]

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

2008-02-19 21:14:23
I'm using the Java version of Saxon-B 8.9 and Saxon-B 9.0.02 on both Mac OS X 10.5 and Windows XP Pro for processing XML documents using XSLT 2.0. I'm running Saxon in command-line form in both cases (CMD in Windows and Terminal in Mac OS).

I'm having a problem with an input XML document whose DTD contains an NDATA entity declared like this:

<!ENTITY xxxxx PUBLIC "-//xxxxxx//XXXX xxxxxx//EN"
"//xx-xxx-xxxxxx x/xxxxx/xxx/xxx/xxxxxx/xxxxxxx/xxxx/xxxxx/xxxxxx/xxxxxxxxxxxx.jpg"
NDATA XXXX>

whose name is used as the value of an attribute that's declared like this:

entname ENTITY #REQUIRED

e.g. it's used like this:

<xxx entname="xxxxx"/>

The XSLT 2.0 script runs just fine under Mac OS, but under Windows the program terminates with an error message like this (I've stripped out a long list of nested method names, but that's all):

java.lang.IllegalArgumentException
at ...
Caused by: java.net.URISyntaxException: Illegal character in authority at index 2: //xx-xxx-xxxxxx x/xxxxx/xxx/xxx/xxxxxx/xxxxxxx/xxxx/xxxxx/xxxxxx/xxxxxxxxxxxx.jpg
at ...
Fatal error during transformation: java.lang.IllegalArgumentException: (no message)


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".

Does anyone know what's going on here? Most importantly, I would like to process documents with entity declarations like the above without having to change the source XML documents by removing spaces in entity SYSTEM names. Is there a way of doing that?

------------
Sam Wilmott
sam(_at_)wilmott(_dot_)ca
www.wilmott.ca
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>