<!-- Qt# parser/generator API XML DTD -->

<!ELEMENT API (Namespace)+ >

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

<!ELEMENT Class (Ancestor | Field | Property | Constructor | Destructor | Method | Enum)+ >
<!ATTLIST Class Name CDATA #REQUIRED >

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

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

<!ELEMENT Property (Parameter) >
<!ATTLIST Property
	Name CDATA #REQUIRED
	Type CDATA #IMPLIED
	ReadOnly CDATA #IMPLIED
>

<!ELEMENT Parameter (ATTRIBUTE) >
<!ATTLIST Parameter
	Name CDATA #REQUIRED
	Type CDATA #REQUIRED
	PassBy CDATA #IMPLIED
	Const CDATA #IMPLIED
	Unsigned CDATA #IMPLIED
	Default CDATA #IMPLIED	
>

<!ELEMENT Constructor (Parameter)* >
<!ATTLIST Constructor
	Name CDATA #IMPLIED
	Access CDATA #REQUIRED
	Id CDATA #IMPLIED
>

<!ELEMENT Destructor EMPTY >
<!ATTLIST Destructor Name CDATA #IMPLIED >

<!ELEMENT Method (ReturnType, Parameter*) >
<!ATTLIST Method
	Name CDATA #REQUIRED
	Access CDATA #REQUIRED
	Const CDATA #IMPLIED
	Static CDATA #IMPLIED
	Virtual CDATA #IMPLIED
	MethodType CDATA #IMPLIED
	Id CDATA #IMPLIED
>

<!ELEMENT ReturnType EMPTY >
<!ATTLIST ReturnType
	Type CDATA #ACCESS
	PassBy CDATA #IMPLIED
	Const CDATA #IMPLIED
	Unsigned CDATA #IMPLIED
>

<!ELEMENT Enum (EnumItem)+ >
<!ATTLIST Enum
	Name CDATA #REQUIRED
	Unsigned CDATA #IMPLIED
>

<!ELEMENT EnumItem EMPTY >
<!ATTLIST EnumItem
	Name CDATA #REQUIRED
	Value CDATA #REQUIRED
>