[Home] [By Thread] [By Date] [Recent Entries]
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@xxxxxxxxxx www.wilmott.ca
|

Cart



