I'm trying to make BaseX work under Windows 7 and I don't seem to be able to get catalog resolution to work. (I'm doing a workshop in Japan and the classroom only has 32-bit Windows machines available--since Docker requires 64-bit Windows I'm having to scramble to make the same code work directly under Windows 7 32-bit--ugh.)
I'm using BaseX 8.4.1 with Java 8 (the Java supplied with the 32-bit version of oXygenXML).
In my .basex file I have these entries:
CATFILE = C:/workspace/DITA-OT2.x/catalog-dita.xml" DTD = true SKIPCORRUPT = true CHOP = false
Using the DBA Web app I can see that the CATFILE property is set to that value, DTD is checked, CHOP is unchecked, and SKIPCORRUPT is checked, so my settings are clearly being used.
However, if I create a database and use the DBA app to load a document that uses a DTD mapped by the catalog (e.g., a DITA document), load fails with a "Can't resolve DTD" message.
The document is valid according to oXygen (and it's the same catalog--this is the OT oXygen is using) and of course my OS X and Docker-based versions of the same setup work fine, so it looks like a Windows-specific issue.
Is there any known issue with catalog resolution under Windows? Is there anything I can do to try to debug the problem?
Thanks,
Eliot
---- Eliot Kimber, Owner Contrext, LLC http://contrext.com
Hi Eliot,
I spent some time to find out what might have gone wrong in your scenario. I created a little, self-contained BaseX command script, which seems to work out of the box with Windows. Could you please give it a try and modify it such that I can see what goes wrong?
You can change the value of the 'catfile' option to an absolute path with forward or backward slashes, it shouldn’t make a difference.
Thanks in advance Christian
On Sat, Mar 12, 2016 at 10:11 AM, Eliot Kimber ekimber@contrext.com wrote:
I'm trying to make BaseX work under Windows 7 and I don't seem to be able to get catalog resolution to work. (I'm doing a workshop in Japan and the classroom only has 32-bit Windows machines available--since Docker requires 64-bit Windows I'm having to scramble to make the same code work directly under Windows 7 32-bit--ugh.)
I'm using BaseX 8.4.1 with Java 8 (the Java supplied with the 32-bit version of oXygenXML).
In my .basex file I have these entries:
CATFILE = C:/workspace/DITA-OT2.x/catalog-dita.xml" DTD = true SKIPCORRUPT = true CHOP = false
Using the DBA Web app I can see that the CATFILE property is set to that value, DTD is checked, CHOP is unchecked, and SKIPCORRUPT is checked, so my settings are clearly being used.
However, if I create a database and use the DBA app to load a document that uses a DTD mapped by the catalog (e.g., a DITA document), load fails with a "Can't resolve DTD" message.
The document is valid according to oXygen (and it's the same catalog--this is the OT oXygen is using) and of course my OS X and Docker-based versions of the same setup work fine, so it looks like a Windows-specific issue.
Is there any known issue with catalog resolution under Windows? Is there anything I can do to try to debug the problem?
Thanks,
Eliot
Eliot Kimber, Owner Contrext, LLC http://contrext.com
The issue was entirely the syntax of the URL for the catalog file. Once I used "file:/c:/foo/bar/catalog-dita.xml" then it worked reliably.
The catalog resolver requires a URL and unless I was looking at the wrong BaseX code there was nothing in there to correct "" to "/" before passing the value to the catalog manager.
Cheers,
E.
---- Eliot Kimber, Owner Contrext, LLC http://contrext.com
On 3/21/16, 7:46 AM, "Christian Grün" christian.gruen@gmail.com wrote:
Hi Eliot,
I spent some time to find out what might have gone wrong in your scenario. I created a little, self-contained BaseX command script, which seems to work out of the box with Windows. Could you please give it a try and modify it such that I can see what goes wrong?
You can change the value of the 'catfile' option to an absolute path with forward or backward slashes, it shouldn¹t make a difference.
Thanks in advance Christian
On Sat, Mar 12, 2016 at 10:11 AM, Eliot Kimber ekimber@contrext.com wrote:
I'm trying to make BaseX work under Windows 7 and I don't seem to be able to get catalog resolution to work. (I'm doing a workshop in Japan and the classroom only has 32-bit Windows machines available--since Docker requires 64-bit Windows I'm having to scramble to make the same code work directly under Windows 7 32-bit--ugh.)
I'm using BaseX 8.4.1 with Java 8 (the Java supplied with the 32-bit version of oXygenXML).
In my .basex file I have these entries:
CATFILE = C:/workspace/DITA-OT2.x/catalog-dita.xml" DTD = true SKIPCORRUPT = true CHOP = false
Using the DBA Web app I can see that the CATFILE property is set to that value, DTD is checked, CHOP is unchecked, and SKIPCORRUPT is checked, so my settings are clearly being used.
However, if I create a database and use the DBA app to load a document that uses a DTD mapped by the catalog (e.g., a DITA document), load fails with a "Can't resolve DTD" message.
The document is valid according to oXygen (and it's the same catalog--this is the OT oXygen is using) and of course my OS X and Docker-based versions of the same setup work fine, so it looks like a Windows-specific issue.
Is there any known issue with catalog resolution under Windows? Is there anything I can do to try to debug the problem?
Thanks,
Eliot
Eliot Kimber, Owner Contrext, LLC http://contrext.com
Hi Eliot,
Thanks for the swift response. Interestingly, I can use a loca, absolute file path for CATFILE and Windows (10), and it works perfectly for me. Did you possibly have a look at the .bxs example?
Cheers, Christian
On Mon, Mar 21, 2016 at 2:03 PM, Eliot Kimber ekimber@contrext.com wrote:
The issue was entirely the syntax of the URL for the catalog file. Once I used "file:/c:/foo/bar/catalog-dita.xml" then it worked reliably.
The catalog resolver requires a URL and unless I was looking at the wrong BaseX code there was nothing in there to correct "" to "/" before passing the value to the catalog manager.
Cheers,
E.
Eliot Kimber, Owner Contrext, LLC http://contrext.com
On 3/21/16, 7:46 AM, "Christian Grün" christian.gruen@gmail.com wrote:
Hi Eliot,
I spent some time to find out what might have gone wrong in your scenario. I created a little, self-contained BaseX command script, which seems to work out of the box with Windows. Could you please give it a try and modify it such that I can see what goes wrong?
You can change the value of the 'catfile' option to an absolute path with forward or backward slashes, it shouldn¹t make a difference.
Thanks in advance Christian
On Sat, Mar 12, 2016 at 10:11 AM, Eliot Kimber ekimber@contrext.com wrote:
I'm trying to make BaseX work under Windows 7 and I don't seem to be able to get catalog resolution to work. (I'm doing a workshop in Japan and the classroom only has 32-bit Windows machines available--since Docker requires 64-bit Windows I'm having to scramble to make the same code work directly under Windows 7 32-bit--ugh.)
I'm using BaseX 8.4.1 with Java 8 (the Java supplied with the 32-bit version of oXygenXML).
In my .basex file I have these entries:
CATFILE = C:/workspace/DITA-OT2.x/catalog-dita.xml" DTD = true SKIPCORRUPT = true CHOP = false
Using the DBA Web app I can see that the CATFILE property is set to that value, DTD is checked, CHOP is unchecked, and SKIPCORRUPT is checked, so my settings are clearly being used.
However, if I create a database and use the DBA app to load a document that uses a DTD mapped by the catalog (e.g., a DITA document), load fails with a "Can't resolve DTD" message.
The document is valid according to oXygen (and it's the same catalog--this is the OT oXygen is using) and of course my OS X and Docker-based versions of the same setup work fine, so it looks like a Windows-specific issue.
Is there any known issue with catalog resolution under Windows? Is there anything I can do to try to debug the problem?
Thanks,
Eliot
Eliot Kimber, Owner Contrext, LLC http://contrext.com
basex-talk@mailman.uni-konstanz.de