Cool, this works without modification, confirmed!

-Michelle

Michael Pogue wrote:
> Actually, could you try out this one?  It eliminates step 3, too -- no more 
> need 
> to edit that XML_CATALOG_FILES line.  I've also added a CDDL header.
>
> Mike
> ================================================
>
> bash-3.00$ cat validate
> #!/bin/sh
> #
> # CDDL HEADER START
> #
> # The contents of this file are subject to the terms of the
> # Common Development and Distribution License, Version 1.0 only
> # (the "License").  You may not use this file except in compliance
> # with the License.
> #
> # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
> # or http://www.opensolaris.org/os/licensing.
> # See the License for the specific language governing permissions
> # and limitations under the License.
> #
> # When distributing Covered Code, include this CDDL HEADER in each
> # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
> # If applicable, add the following below this CDDL HEADER, with the
> # fields enclosed by brackets "[]" replaced with your own identifying
> # information: Portions Copyright [yyyy] [name of copyright owner]
> #
> # CDDL HEADER END
> #
>
> MYLOCATION=`pwd`/$0; export MYLOCATION
> XML_CATALOG_FILES=`dirname $MYLOCATION`/catalog.xml; export XML_CATALOG_FILES
> #echo XML_CATALOG_FILES = $XML_CATALOG_FILES
> if xmllint --memory --valid --noout *.book; then
>          echo No validation errors found in *.book .
> else
>          echo Errors found in *.book .
> fi
>
>
>
>
>
> michelle olson wrote:
>   
>> 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
>>>>>>>>
>>>>>>>>                 
>>>>>>> ...
>>>>>>>               
> _______________________________________________
> docs-discuss mailing list
> docs-discuss at opensolaris.org
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/docs-discuss/attachments/20080416/51d17e2c/attachment.html>

Reply via email to