[xslt] system entities, windows and URIs



I am writing a python script which generates its system entities.
Under linux, everything works great. When I try to run the same python
script under windows, it uses the urllib.pathname2url() method to
convert the windows path into a URI for sending to the DTD.

So the DTD has entity definitions which look like this:
<!ENTITY html.jedit.docbook SYSTEM
"///C|/cygwin/home/ezust/local/html/jedit.docbook" >
<!ENTITY html.cvsssh.docbook SYSTEM
"///C|/cygwin/home/ezust/local/html/cvsssh.docbook" >
<!ENTITY html.xml2docbook.docbook SYSTEM
"///C|/cygwin/home/ezust/local/html/xml2docbook.docbook" >

I'm running the version of xsltproc that comes with cygwin:

[ezust juke] /home/ezust/local> xsltproc --version
Using libxml 20611, libxslt 10108 and libexslt 806
xsltproc was compiled against libxml 20611, libxslt 10108 and libexslt 806
libxslt 10108 was compiled against libxml 20611
libexslt 806 was compiled against libxml 20611

The URIs in the above DTD cause parser errors from XSLT:
html:
     [exec] 00-generatedEntities.dtd:1: parser error : Invalid URI:
///C|/cygwin/home/ezust/local/html/jedit.docbook
     [exec] ITY html.jedit.docbook SYSTEM
"///C|/cygwin/home/ezust/local/html/jedit.docbook"

Is this a bug in xsltproc? Why does it not accept the URIs generated
by python's pathname2url()? What is the correct format to represent a
filename from the windows filesystem (with a drive letter)?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]