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