On 30 October 2010 17:03, mattn <[email protected]> wrote: > Yes, well, I tried all that but it doesn't seem to be relevant. I > don't believe the problem is at my end. > > Let's just concentrate on xmllint for now. Here's my setup. I have an > xml catalog at /etc/xml/catalog: > > <?xml version="1.0"?> > <!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog > V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/ > catalog.dtd"> > <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> > <public publicId="-//OASIS//DTD DocBook XML V4.5//EN" uri="file:/// > Users/mattleopard/.asciidoc/docbook-xml-4.5/docbookx.dtd"/> > <system systemId="http://www.oasis-open.org/docbook/xml/4.5/ > docbookx.dtd" uri="file:///Users/mattleopard/.asciidoc/docbook-xml-4.5/ > docbookx.dtd"/> > </catalog> > > You can see that it's pointing both the public and system IDs to my > copy of docbookx.dtd. Now, when I say at the command line: > > xmllint --nonet --noout --valid /Users/mattleopard/Desktop/a2xoutput/ > book.xml > > This *succeeds* (no output and no error). However, when I run a2x, > when we get to the point of doing xmllint, a2x reports that the very > same command *fails*: > > a2x: ERROR: xmllint --nonet --noout --valid /Users/mattleopard/Desktop/ > a2xoutput/book.xml returned non-zero exit status 4 > > This makes me think there's something odd about the environment or > manner in which a2x is calling xmllint.
I don't know how a2x runs the commands but if it spawns them without a shell then some initialization files may not be run. In that case the XML_CATALOG_FILES environment variable may not be set so xmllint won't find any catalog at all (according to xmllint doc), whereas running it yourself from a command line will have it set since its in a shell. I had a similar problem with commands run from an IDE not picking up environment variables. Cheers Lex > > I'm still working on the problem later in the process with xsltproc... > > m. > > On Oct 29, 6:49 pm, Lex Trotman <[email protected]> wrote: >> On 30 October 2010 12:21, mattn <[email protected]> wrote: >> >> > I don't follow that answer (and I'm having the same issue). >> >> > You're calling xmllint with --nonet. So where is xmllint supposed to >> > get the DTD from if you're not permitting it to go out on the >> > Internet? In other words, what does "locally installed" mean to >> > xmllint - locally installed where? a2x provides no way to hand xmllint >> > any options, so there's no way to tell it where to find the DTD as a >> > file. It seems to me that either asciidoc should include the DTD as >> > part of its own installation and hand xmllint the appropriate option, >> > or a way should be provided for the user to do this. >> >> Your xml catalog (usually? /etc/xml/catalog) maps external URIs to >> other (usually local file:) URIs when a resource is requested by xml. >> This is usually a hierarchical structure so that top level entries >> refer to the lower level ones. >> >> Properly installed DTDs will include themselves in the catalog so when >> requested the local copy is used. No options are required to xmllint. >> >> Cheers >> Lex >> >> >> >> > Same problem with xsltproc later in the process. You're saying --nonet >> > so where is xsltproc supposed to get the stylesheets? >> >> As above >> >> >> >> >> >> > If I could solves these problems, I could use a2x...! :) m. >> >> > On Oct 22, 4:41 pm, Stuart Rackham <[email protected]> wrote: >> >> xmllintis unable to find a locally installed DocBook 4.5 DTD on your >> >> system so >> >> it's unable to validate the DocBook file generated by asciidoc >> >> (xmllinterror >> >> code 4). You need to install the DocBook DTD (I'm not familiar with the >> >> Mac so >> >> can't point you in the right direction). You can sidestep the problem by >> >> running >> >> a2x with the --no-xmllintoption. >> >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "asciidoc" group. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group >> > athttp://groups.google.com/group/asciidoc?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "asciidoc" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/asciidoc?hl=en. > > -- You received this message because you are subscribed to the Google Groups "asciidoc" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/asciidoc?hl=en.
