<!--
The contents of this file are subject to the terms of the Common Development
and Distribution License (the License). You may not use this file except in
compliance with the License.

You can obtain a copy of the License at http://www.netbeans.org/cddl.html
or http://www.netbeans.org/cddl.txt.

When distributing Covered Code, include this CDDL Header Notice in each file
and include the License file at http://www.netbeans.org/cddl.txt.
If applicable, add the following below the CDDL Header, with the fields
enclosed by brackets [] replaced by your own identifying information:
"Portions Copyrighted [year] [name of copyright owner]"

The Original Software is NetBeans. The Initial Developer of the Original
Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
Microsystems, Inc. All Rights Reserved.
-->

<!--
Public ID: "-//NetBeans//DTD Arch Answers//EN"
Describes format of NetBeans Architecture Answers file
-->

<!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
<!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "../../../../../libs/external/dtds/xhtml1-20020801/DTD/xhtml1-strict.dtd">
<!ENTITY % xhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "Arch-fake-xhtml.dtd">
-->

<!-- overriding values of misc.inline to our special tags that
     can occur in HTML
-->
<!ENTITY % special "br | span | bdo | object | img | map | api | usecase | defaultanswer ">
<!-- Now include normal XHTML DTD: -->
%xhtml;

<!-- stability categories -->
<!ENTITY % category "(official|stable|devel|third|standard|friend|private|deprecated)">

<!--
Document element.
-->
<!ELEMENT api-answers (api-questions, answer*) >
<!ATTLIST api-answers
          question-version CDATA #REQUIRED
          module CDATA #REQUIRED
          author CDATA #REQUIRED
>

<!-- XXX switch to using e.g. %Block; rather than %Flow; perhaps? -->

<!--
HTML contents of the document, with substitutions.
-->
<!ELEMENT answer %Flow; >
<!ATTLIST answer
          id ID #REQUIRED
>

<!ELEMENT defaultanswer EMPTY >
<!ATTLIST defaultanswer
          generate (here|none) 'here' 
>

<!ELEMENT api %Flow; >
<!ATTLIST api
          group (java|lookup|property|dtd|layer|java.io.File|javax.swing.UIManager|jmi|org.apache.tools.ant.Task|cli) #REQUIRED
          name NMTOKEN #REQUIRED
          type (import|export) #REQUIRED
          category %category; #REQUIRED
          url CDATA #IMPLIED
>

<!ELEMENT usecase %Flow; >
<!ATTLIST usecase
          id NMTOKEN #REQUIRED
          name CDATA #REQUIRED
>

<!-- now the content of included questions file -->

<!ELEMENT api-questions ( category )* >
<!ATTLIST api-questions
          version CDATA #REQUIRED
>

<!ELEMENT category ( question )* >
<!ATTLIST category
          name CDATA #REQUIRED
          id NMTOKEN #REQUIRED
>

<!ELEMENT question (#PCDATA | %inline; | hint)* >
<!ATTLIST question
          id NMTOKEN #REQUIRED
          when (init|impl|final) 'init'
>

<!ELEMENT hint %Flow; >
