1 <!ELEMENT apispec (template|api)+> 2 3 <!ELEMENT api (category*, function*)> 4 <!ELEMENT category EMPTY> 5 <!ELEMENT function EMPTY> 6 7 <!ELEMENT template (proto, desc*)> 8 <!ELEMENT proto (return, (param|vector)*)> 9 <!ELEMENT return EMPTY> 10 <!ELEMENT param EMPTY> 11 <!ELEMENT vector (param*)> 12 <!ELEMENT desc ((value|range)*, desc*)> 13 <!ELEMENT value EMPTY> 14 <!ELEMENT range EMPTY> 15 16 <!ATTLIST api name NMTOKEN #REQUIRED 17 implementation (true | false) "false"> 18 <!ATTLIST category name NMTOKEN #REQUIRED> 19 <!ATTLIST function name NMTOKEN #REQUIRED 20 default_prefix NMTOKEN "_mesa_" 21 external (true | false) "false" 22 template NMTOKEN #REQUIRED 23 gltype CDATA #IMPLIED 24 vector_size NMTOKEN #IMPLIED 25 expand_vector (true | false) "false" 26 skip_desc (true | false) "false"> 27 28 <!ATTLIST template name NMTOKEN #REQUIRED 29 direction (set | get) "set"> 30 31 <!ATTLIST return type CDATA #REQUIRED> 32 <!ATTLIST param name NMTOKEN #REQUIRED 33 type CDATA #REQUIRED 34 hide_if_expanded (true | false) "false" 35 category NMTOKEN #IMPLIED> 36 <!ATTLIST vector name NMTOKEN #REQUIRED 37 type CDATA #REQUIRED 38 size NMTOKEN #REQUIRED 39 category NMTOKEN #IMPLIED> 40 41 <!ATTLIST desc name NMTOKEN #REQUIRED 42 vector_size CDATA #IMPLIED 43 convert (true | false) #IMPLIED 44 error NMTOKEN "GL_INVALID_ENUM" 45 category NMTOKEN #IMPLIED> 46 47 <!ATTLIST value name CDATA #REQUIRED 48 category NMTOKEN #IMPLIED> 49 <!ATTLIST range from NMTOKEN #REQUIRED 50 to NMTOKEN #REQUIRED 51 base NMTOKEN #IMPLIED 52 category NMTOKEN #IMPLIED> 53