<!-- Qt# API annotation XML DTD -->

<!ELEMENT Annotation (Prepend | Append | Create | Replace | Namespace)+ >

<!-- Formatting elements -->

<!ELEMENT Prepend (Constructor | Method | Field | Property | Destructor)+ >
<!ELEMENT Append (Constructor | Method | Field | Property | Destructor)+ >
<!ELEMENT Create (Constructor | Method | Field | Property | Destructor)+ >
<!ELEMENT Replace (Constructor | Method | Field | Property | Destructor)+ >

<!-- API elements -->

<!ELEMENT Namespace (Using | Class | Interface | Enum)+ >
<!ATTLIST Namespace Name CDATA #REQUIRED >

<!ELEMENT Using EMPTY >
<!ATTLIST Using Name CDATA #REQUIRED >

<!ELEMENT Class (Using | Prepend | Append | Create | Replace)+ >
<!ATTLIST Class Name CDATA #REQUIRED >

<!ELEMENT Field EMPTY >
<!ATTLIST Field
	Name CDATA #REQUIRED
	Type CDATA #REQUIRED
	Access CDATA #REQUIRED
>

<!ELEMENT Property (Get | Set)+ >
<!ATTLIST Property
	Name CDATA #REQUIRED
	Type CDATA #REQUIRED
	Access CDATA #REQUIRED
	ReadOnly CDATA #IMPLIED
>

<!ELEMENT Get (Code)+ >
<!ELEMENT Set (Code)+ >

<!ELEMENT Parameter EMPTY >
<!ATTLIST Parameter
	Name CDATA #REQUIRED
	Type CDATA #REQUIRED
>

<!ELEMENT Constructor (Parameter | Code)* >
<!ATTLIST Constructor
	Name CDATA #IMPLIED
	Access CDATA #IMPLIED
>

<!ELEMENT Destructor (Code)* >

<!ELEMENT Method (Parameter | Code)* >
<!ATTLIST Method
	Name CDATA #REQUIRED
	Access CDATA #REQUIRED
	Static CDATA #IMPLIED
	Virtual CDATA #IMPLIED
	Return CDATA #REQUIRED
	MethodType CDATA #IMPLIED
>

<!ELEMENT Code (#PCDATA) >
