| <!ELEMENT protocol (copyright?, description?, interface+)> |
| <!ATTLIST protocol name CDATA #REQUIRED> |
| <!ELEMENT copyright (#PCDATA)> |
| <!ELEMENT interface (description?,(request|event|enum)+)> |
| <!ATTLIST interface name CDATA #REQUIRED> |
| <!ATTLIST interface version CDATA #REQUIRED> |
| <!ELEMENT request (description?,arg*)> |
| <!ATTLIST request name CDATA #REQUIRED> |
| <!ATTLIST request type CDATA #IMPLIED> |
| <!ATTLIST request since CDATA #IMPLIED> |
| <!ELEMENT event (description?,arg*)> |
| <!ATTLIST event name CDATA #REQUIRED> |
| <!ATTLIST event since CDATA #IMPLIED> |
| <!ELEMENT enum (description?,entry*)> |
| <!ATTLIST enum name CDATA #REQUIRED> |
| <!ATTLIST enum since CDATA #IMPLIED> |
| <!ATTLIST enum bitfield CDATA #IMPLIED> |
| <!ELEMENT entry (description?)> |
| <!ATTLIST entry name CDATA #REQUIRED> |
| <!ATTLIST entry value CDATA #REQUIRED> |
| <!ATTLIST entry summary CDATA #IMPLIED> |
| <!ATTLIST entry since CDATA #IMPLIED> |
| <!ELEMENT arg (description?)> |
| <!ATTLIST arg name CDATA #REQUIRED> |
| <!ATTLIST arg type CDATA #REQUIRED> |
| <!ATTLIST arg summary CDATA #IMPLIED> |
| <!ATTLIST arg interface CDATA #IMPLIED> |
| <!ATTLIST arg allow-null CDATA #IMPLIED> |
| <!ATTLIST arg enum CDATA #IMPLIED> |
| <!ELEMENT description (#PCDATA)> |
| <!ATTLIST description summary CDATA #REQUIRED> |