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
>>>>>>
>>>>> ...

Reply via email to