Awesome! It works for me. Thank you so much Mike, I will add these two new files to common and update the instructions.
-Michelle Michael Pogue wrote: > OK, here's the recipe (could somebody please try out these > instructions, to make sure everything works correctly?): > > 1) Create a "catalog.xml" file in your "common/" directory. Michelle, > we should create this file in the common/ directory, so that this step > can be eliminated. > > bash-3.00$ cat catalog.xml > <?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="-//Sun Microsystems//DTD SolBook-XML 3.5//EN" > uri="xsolbook.dtd"/> > </catalog> > > Note that the catalog refers to "xsolbook.dtd", and not > "solbook.dtd". > No need to rename the file!! > > 2) Create the following file, called "validate" in your "common/" > directory. > Michelle, I think we should put this file in common/, too. That would > eliminate step 2. > > bash-3.00$ cat validate > #!/bin/sh > # > # Copyright 2008 Sun Microsystems, Inc. All rights reserved. > # Use is subject to license terms. > # > > XML_CATALOG_FILES=/home/myusername/docs2/20080215/common/catalog.xml; \ > export XML_CATALOG_FILES > if xmllint --memory --valid --noout *.book; then > echo No validation errors found in *.book . > else > echo Errors found in *.book . > fi > > 3) Change the XML_CATALOG_FILES= statement in validate to point at the > "catalog.xml" file you created in step 1. You only have to do this > once. > > 4) cd to the directory containing the book you want to validate. > > cd /home/myusername/docs2/20080215/DYNMCTRCGGD > > 5) Run the validate command. It will validate the .book file (and > everything that the .book file includes). > > bash-3.00$ ../common/validate > No validation errors found in DYNMCTRCGGD.book . > > Mike > > > michelle olson wrote: >> Hi Mike, >> >> OK, any help you can give on the catalogs would be greatly >> appreciated. That was my original intent, but the work hasn't been >> completed because I have no experience with XML catalogs. >> >> thanks, >> Michelle >> >> Michael Pogue wrote: >>> I've been thinking about that.... >>> >>> I don't think the best approach is to make N copies (in this case, N >>> = 36) of the dtd and entities file. If we do that in the >>> repository, they will diverge. It would be better to keep them in >>> one place (like "common"), but have the validation script reference >>> them there. >>> >>> The best way to fix this is probably to use XML catalogs. It looks >>> like the .dtd and sun-iso files are referenced via PUBLIC entities, >>> so this should work. >>> >>> Mike >>> >>> michelle olson wrote: >>>> >>>> >>>> Michael Pogue wrote: >>>>> That's better, but it still generates errors, because the entities >>>>> are actually defined elsewhere. It turns out that copying >>>>> "common/sun-iso-map.xml" to the DYNMCTRCGGD directory does make it >>>>> work the rest of the way! >>>> OK, cool, I'm glad you've made progress, I eagerly await a push >>>> notification! :) >>>>> >>>>> I verified that "xmllint --valid --noout DYNMCTRCGGD.book" >>>>> complains (correctly) when I insert validity errors into the .book >>>>> file, the sun-iso-map.xml file, and into the chapter1.xml file. >>>>> So, I think we have a validation process that works now. >>>>> >>>>> We should make it easier to use, though! >>>> OK, so I'll put a copy of the correctly named dtd and the >>>> sun-iso-map files into each book directory in the next update of >>>> the consolidation. Then, we should update the instructions to make >>>> explicit that xmllint should be run on the book file. What else can >>>> we do to make it easier? >>>> >>>> thanks, >>>> Michelle >>>>> >>>>> Mike >>>>> >>>>> michelle olson wrote: >>>>> ... >>>>>> Thanks for continuing to work on this. I found a couple things >>>>>> that might also help Rainer. So, try doing the following: >>>>>> >>>>>> -copy the xsolbook.dtd from the 20080215/common directory to your >>>>>> DYNMCTRCGGD directory. >>>>>> -rename the xsolbook.dtd file to solbook.dtd. >>>>>> -issue the xmllint --valid --noout DYNMCTRCGGD.book >>>>>> >>>>> ...
