-<!ELEMENT OpenGLAPI (category+)>
+<!ELEMENT OpenGLAPI (category?, xi:include?, OpenGLAPI?)+>
<!ELEMENT category (type*, enum*, function*)*>
<!ELEMENT type EMPTY>
<!ELEMENT enum (size*)>
<!ELEMENT return EMPTY>
<!ELEMENT glx EMPTY>
+<!ELEMENT xi:include (xi:fallback)?>
+<!ATTLIST xi:include
+ xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
+ href CDATA #REQUIRED
+ parse (xml|text) "xml"
+ encoding CDATA #IMPLIED>
+<!ELEMENT xi:fallback ANY>
+<!ATTLIST xi:fallback
+ xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude">
+
+
<!ATTLIST category name NMTOKEN #REQUIRED
- number NMTOKEN #IMPLIED>
+ number NMTOKEN #IMPLIED
+ window_system NMTOKEN #IMPLIED>
<!ATTLIST type name NMTOKEN #REQUIRED
size NMTOKEN #REQUIRED
+ float (true | false) "false"
+ unsigned (true | false) "false"
glx_name NMTOKEN #IMPLIED>
<!ATTLIST enum name NMTOKEN #REQUIRED
count CDATA #IMPLIED
<!ATTLIST function name NMTOKEN #REQUIRED
alias NMTOKEN #IMPLIED
offset CDATA #IMPLIED
+ static_dispatch (true | false) "true"
vectorequiv NMTOKEN #IMPLIED>
<!ATTLIST size name NMTOKEN #REQUIRED
count NMTOKEN #IMPLIED
mode (get | set) "set">
<!ATTLIST param name NMTOKEN #REQUIRED
type CDATA #REQUIRED
+ client_only (true | false) "false"
count NMTOKEN #IMPLIED
counter (true | false) "false"
count_scale NMTOKEN "1"
param:
name - name of the parameter
type - fully qualified type (e.g., with "const", etc.)
+ client_only - boolean flag set on parameters which are interpreted only
+ by the client and are not present in the protocol encoding (e.g.,
+ the stride parameters to Map1f, etc.)
count - for counted arrays (e.g., the 'lists' parameter to glCallLists),
the parameter or literal that represents the count. For functions
like glVertex3fv it will be a litteral, for others it will be one of