1<!ELEMENT protocol (copyright?, description?, interface+)> 2 <!ATTLIST protocol name CDATA #REQUIRED> 3<!ELEMENT copyright (#PCDATA)> 4<!ELEMENT interface (description?,(request|event|enum)+)> 5 <!ATTLIST interface name CDATA #REQUIRED> 6 <!ATTLIST interface version CDATA #REQUIRED> 7<!ELEMENT request (description?,arg*)> 8 <!ATTLIST request name CDATA #REQUIRED> 9 <!ATTLIST request type CDATA #IMPLIED> 10 <!ATTLIST request since CDATA #IMPLIED> 11<!ELEMENT event (description?,arg*)> 12 <!ATTLIST event name CDATA #REQUIRED> 13 <!ATTLIST event since CDATA #IMPLIED> 14<!ELEMENT enum (description?,entry*)> 15 <!ATTLIST enum name CDATA #REQUIRED> 16 <!ATTLIST enum since CDATA #IMPLIED> 17 <!ATTLIST enum bitfield CDATA #IMPLIED> 18<!ELEMENT entry (description?)> 19 <!ATTLIST entry name CDATA #REQUIRED> 20 <!ATTLIST entry value CDATA #REQUIRED> 21 <!ATTLIST entry summary CDATA #IMPLIED> 22 <!ATTLIST entry since CDATA #IMPLIED> 23<!ELEMENT arg (description?)> 24 <!ATTLIST arg name CDATA #REQUIRED> 25 <!ATTLIST arg type CDATA #REQUIRED> 26 <!ATTLIST arg summary CDATA #IMPLIED> 27 <!ATTLIST arg interface CDATA #IMPLIED> 28 <!ATTLIST arg allow-null CDATA #IMPLIED> 29 <!ATTLIST arg enum CDATA #IMPLIED> 30<!ELEMENT description (#PCDATA)> 31 <!ATTLIST description summary CDATA #REQUIRED> 32