<!--
This file is part of AdaBrowse.
Copyright © 2002-2005 by Thomas Wolf.
AdaBrowse is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version. AdaBrowse is distributed in the hope that it will be
useful, but without any warranty; without even the implied warranty
of merchantability or fitness for a particular purpose. See the GNU
General Public License for more details. You should have received a
copy of the GNU General Public License with this distribution, see file
"GPL.txt". If not, write to the
Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307
USA.
Author:
Thomas Wolf
Purpose:
XML 1.0 Document Type Definition for AdaBrowse XML files.
Version:
AdaBrowse DTD 1.1 (generated by AdaBrowse 3.4).
Earlier versions:
AdaBrowse DTD 1.0 generated by AdaBrowse 3.0 up to 3.3.
(Has no PRIVATE attribute for the UNIT and CHILD elements.)
Newer versions:
AdaBrowse DTD 2.0 generated by AdaBrowse 4.0.
(Includes indices.)
Revision History
20-AUG-2002 TW Initial version.
28-AUG-2002 TW Corrections in cross-references.
30-MAY-2003 TW Added private attributes to UNIT and CHILD elements.
-->
<!ENTITY % pure "#PCDATA|KEYWORD|ATTRIBUTE|XREF|LITERAL" >
<!ENTITY % inline "%pure;|ANCHOR|COMMENT|CODE" >
<!ENTITY % lib_no_container
"A_PROCEDURE |
A_FUNCTION |
A_GENERIC_PROCEDURE |
A_GENERIC_FUNCTION |
A_PACKAGE_INSTANTIATION|
A_PROCEDURE_INSTANTIATION |
A_FUNCTION_INSTANTIATION |
A_PACKAGE_RENAMING |
A_PROCEDURE_RENAMING |
A_FUNCTION_RENAMING |
A_GENERIC_PACKAGE_RENAMING |
A_GENERIC_PROCEDURE_RENAMING |
A_GENERIC_FUNCTION_RENAMING" >
<!ENTITY % lib_container
"A_PACKAGE |
A_GENERIC_PACKAGE |
A_GENERIC_SIGNATURE_PACKAGE" >
<!ENTITY % no_lib_no_container
"A_PRAGMA |
A_USE_CLAUSE |
A_USE_TYPE_CLAUSE |
A_TYPE |
A_SUBTYPE |
A_VARIABLE |
A_CONSTANT |
A_DEFERRED_CONSTANT |
AN_OBJECT_RENAMING |
AN_EXCEPTION_RENAMING |
AN_ENTRY |
A_PROTECTED_PROCEDURE |
A_PROTECTED_FUNCTION |
AN_EXCEPTION" >
<!ENTITY % no_lib_container
"A_TASK_TYPE |
A_PROTECTED_TYPE |
A_TASK |
A_PROTECTED_OBJECT" >
<!ENTITY % boolean
"FALSE | TRUE" >
<!ENTITY % lib "%lib_no_container; | %lib_container;" >
<!ENTITY % container "%lib_container; | %no_lib_container;" >
<!ENTITY % no_container "%lib_no_container; | %no_lib_no_container; | A_TASK_TYPE | A_TASK" >
<!-- Tasks and task types can also appear as items. -->
<!-- Inline elements -->
<!ELEMENT KEYWORD (#PCDATA) >
<!ELEMENT ATTRIBUTE (#PCDATA) >
<!ELEMENT LITERAL (#PCDATA) >
<!ELEMENT CODE (%inline;)* >
<!ELEMENT XREF (#PCDATA|LITERAL|KEYWORD)* >
<!-- Actually, I'd like to specify that an XREF may contain either
PCDATA