Stephen Collyer wrote:
1. I have a C++ application that targets both Linux/Unix
and Win32. I'm using Xerces 2.7.0 in both Opensuse 10.3 and
the Win32 environment.
2. I am setting XMLUni::fgXercesSchemaExternalSchemaLocation
prior to parsing XML to allow the parser to locate a schema
definition. The value passed to setProperty() is:
"http://www.smpte-ra.org/schemas/2032-2/2007/MDP file:c:\tmp\mdp.xsd"
This is not a valid URL. Try:
file:///c:/tmp/mdp.xsd
You can also omit the "c:" if the C drive is your current drive.
This works correctly in the Linux build. It fails at parse time
in the Win32 build with the following warning:
I don't you have a file on the C drive on a Linux system. What URL are
you using on Linux?
The primary document entity could not be opened. Id=file:c:\tmp\mdp.xsd
3. Logging in the application tells me that the file
in question c:\tmp\mdp.xsd does indeed exist and is readable.
Can anyone suggest why this code is failing under Windows, but
fine under Linux ?
Because you're probably supplying a valid URL on Linux, although that's
just a guess.
Dave