1<!-- DTD for D-BUS Introspection data --> 2<!-- (C) 2005-02-02 David A. Wheeler; released under the D-BUS licenses, 3 GNU GPL version 2 (or greater) and AFL 1.1 (or greater) --> 4 5<!-- see D-BUS specification for documentation --> 6 7<!ELEMENT node (node|interface)*> 8<!ATTLIST node name CDATA #IMPLIED> 9 10<!ELEMENT interface (method|signal|property|annotation)*> 11<!ATTLIST interface name CDATA #REQUIRED> 12 13<!ELEMENT method (arg|annotation)*> 14<!ATTLIST method name CDATA #REQUIRED> 15 16<!ELEMENT signal (arg|annotation)*> 17<!ATTLIST signal name CDATA #REQUIRED> 18 19<!ELEMENT arg EMPTY> 20<!ATTLIST arg name CDATA #IMPLIED> 21<!ATTLIST arg type CDATA #REQUIRED> 22<!-- Method arguments SHOULD include "direction", 23 while signal and error arguments SHOULD not (since there's no point). 24 The DTD format can't express that subtlety. --> 25<!ATTLIST arg direction (in|out) "in"> 26 27<!-- AKA "attribute" --> 28<!ELEMENT property (annotation)*> 29<!ATTLIST property name CDATA #REQUIRED> 30<!ATTLIST property type CDATA #REQUIRED> 31<!ATTLIST property access (read|write|readwrite) #REQUIRED> 32 33<!ELEMENT annotation EMPTY> <!-- Generic metadata --> 34<!ATTLIST annotation name CDATA #REQUIRED> 35<!ATTLIST annotation value CDATA #REQUIRED> 36 37 38