Michael Smith wrote:
>Along with the ones already mentioned, there's one that Scott
>Hudson posted a note about to the list a few months back -
>
> http://lists.oasis-open.org/archives/docbook-apps/200506/msg00210.html
>
>It's a Java app -
>
> http://woodstox.codehaus.org/DTDFlatten
>
>It seems to work well ...
>
It surely does. Out of the three tools you pointed out, this one runs
the fastest. Blisteringly so, in fact. As with everything, however,
there is a trade-off -- the minimum possible output size is double that
of flatten running in default mode.
>And it can handle entities that have system IDs with remote URIs.
>
Not on my system, it couldn't:
-------------------------------------------------------------------------------------------------------
$ java -jar dtd-flatten.jar
http://oasis-open.org/docbook/xml/4.2/docbookx.dtd
java.io.FileNotFoundException: No such file or directory
at gnu.java.nio.channels.FileChannelImpl.open (FileChannelImpl.java)
at gnu.java.nio.channels.FileChannelImpl.FileChannelImpl
(FileChannelImpl.java:106)
at java.io.FileInputStream.FileInputStream (FileInputStream.java:108)
at java.io.FileInputStream.FileInputStream (FileInputStream.java:83)
at java.io.FileReader.FileReader (FileReader.java:89)
at com.ctc.wstx.tools.DTDFlatten.main (DTDFlatten.java:140)
at java.lang.VirtualMachine.invokeMain (VirtualMachine.java)
at java.lang.VirtualMachine.main (VirtualMachine.java:108)
-------------------------------------------------------------------------------------------------------
Public IDs are misinterpreted as command-line options:
-------------------------------------------------------------------------------------------------------
$ java -jar dtd-flatten.jar "-//OASIS//DTD DocBook XML V4.2//EN"
Unrecognized option '-//OASIS//DTD'.
Usage: class com.ctc.wstx.tools.DTDFlatten[flags] [DTD file]
flags:
--output-comments (default)
--strip-comments
--output-conditional-sections
--strip-conditional-sections (default)
--output-pe-decls
--strip-pe-decls (default)
--output-whitespace:<mode> (mode: all/compact/minimum; default 'compact'
--help [displays full help]
-------------------------------------------------------------------------------------------------------
Thanks for all your help, Michael. The combination of xmlcatalog (using
the public ID!) and either of these tools will enable me to solve the
coding problem I have.
Regards,
David.