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