<!-- ========================================================================
 *
 *  $RCSfile: CodeSnippet.dtd,v $
 *
 *  $Revision: 1.6 $
 *
 *  last change: $Author: tomsontom $ $Date: 2005/03/01 10:18:40 $
 *
 *  The Contents of this file are made available subject to the terms of
 *  the BSD license.
 *
 *  Copyright (c) 2004 by Sun Microsystems, Inc.
 *  All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions
 *  are met:
 *  1. Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *  2. Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in the
 *     documentation and/or other materials provided with the distribution.
 *  3. Neither the name of Sun Microsystems, Inc. nor the names of its
 *     contributors may be used to endorse or promote products derived
 *     from this software without specific prior written permission.
 *
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 ======================================================================== -->
<!-- 
    CodeSnippet DTD
-->
<!ELEMENT snippet ( keywords, authors, versions?, operating-systems?, question, answer, changelog ) >
<!ATTLIST snippet
            language    ( OOBasic|Java|Cpp|Python|OLE )              #REQUIRED
            application ( Writer|Calc|Impress|Draw|Office|Database ) #REQUIRED >


<!--
    Put as many sensible keywords into this secion as possible, each keyword in a separate element.
-->
<!ELEMENT keywords ( keyword+ ) >
<!ELEMENT keyword (#PCDATA)>


<!--
        List the initial writers in this form (with initial="true"). Initial Writers is a term from the PDL (License). 
        If one of these authors assined copyright to somebody else, e.g. the company they are working for, use the attribute copyright="..." 
        and name the copyright holder.
-->
<!ELEMENT authors ( author+ ) >
<!ELEMENT author (#PCDATA)>
<!ATTLIST author
            id      ID    #REQUIRED
            initial CDATA #IMPLIED
            email   CDATA #REQUIRED
            copyright CDATA #IMPLIED>

<!--
        Put the part of the question which should be part of the overview index, as a direct child of the <question>...</question> 
        element. For further explanation you can use child elements, like <p>...</p>.
-->
<!ELEMENT question (#PCDATA|p|listing)*>
<!ATTLIST question
            heading CDATA #REQUIRED>

<!--
        The answer to the question
-->
<!ELEMENT answer ( p|listing )+>

<!--
        The answer in english
-->
<!ELEMENT p ( #PCDATA|a|b|ul|code )*>

<!ELEMENT listing ( #PCDATA )* >

<!--
        The changelog holds all changes made to the snippet including
        the initial release
-->
<!ELEMENT changelog ( change+ )>

<!--
        The change itself
-->
<!ELEMENT change ( #PCDATA ) >
<!ATTLIST change
            author-id IDREF #REQUIRED
            date      CDATA #REQUIRED>

<!--
        a link to an external resource
-->
<!ELEMENT a (#PCDATA)>
<!ATTLIST a
            href CDATA #REQUIRED>

<!ELEMENT versions (version+)>

<!ELEMENT version EMPTY>
<!ATTLIST version
		number CDATA #REQUIRED
		status (tested|untested|may_work|can_not_work)>

<!ELEMENT operating-systems (operating-system+)>
<!ATTLIST operating-system
		name (Win32|Linux|Solaris|MacOSX|All)>

<!--
        make something bold
-->
<!ELEMENT b (#PCDATA)>
            
<!ELEMENT ul (li+)>

<!ELEMENT li (#PCDATA)>

<!ELEMENT code (#PCDATA)>

