<!ENTITY % common.att "
	  id	ID	#IMPLIED
	  role	NMTOKEN	#IMPLIED">

<!ENTITY % descriptor.class "cfuncdesc | cvardesc | ctypedesc |
                             classdesc | excdesc | funcdesc | datadesc |
                             memberdesc | methoddesc | opcodedesc">

<!-- include the OASIS Exchange Table Model -->
<!ENTITY oasis-tables.mod
	  PUBLIC "-//OASIS//DTD Exchange Table Model 19960430//EN">
&oasis-tables.mod;

<!-- define the &version; general entity -->
<!ENTITY python-version.ent
	  PUBLIC "+//IDN python.org//ENTITIES Python Version//EN">
&python-version.ent;

<!ELEMENT input - - EMPTY>
<!ATTLIST input
	  %common.att;
          xml:link #FIXED "simple"
          show CDATA "embed"
          embed CDATA "auto"
          source CDATA #REQUIRED>

<!ELEMENT (function|constant) - - (#PCDATA)>
<!ATTLIST (function|constant)
	  %common.att;
	  index (index|noindex) noindex
	  module CDATA #IMPLIED>

<!ELEMENT method - - (#PCDATA)>
<!ATTLIST method
	  %common.att;
	  index (index|noindex) noindex
	  module CDATA #IMPLIED
	  class CDATA #IMPLIED>

<!ELEMENT module - - (#PCDATA)>
<!ATTLIST module
	  %common.att;
	  link (link|nolink) nolink
	  package CDATA #IMPLIED>

<!ELEMENT signature - - (name, super*, args?)>
<!ELEMENT name      - - (#PCDATA)>
<!ELEMENT super     - - (#PCDATA)>
<!ELEMENT args      - - (#PCDATA)>

<!ELEMENT %descriptor.class; - - (sig+, description)>
<!ELEMENT description        - - (%para.mix;)>
