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) -->
5 <!-- see D-BUS specification for documentation -->
7 <!ELEMENT node (interface*,node*)>
8 <!ATTLIST node name CDATA #REQUIRED>
10 <!ELEMENT interface (annotation*,method*,signal*,property*)>
11 <!ATTLIST interface name CDATA #REQUIRED>
13 <!ELEMENT method (annotation*,arg*)>
14 <!ATTLIST method name CDATA #REQUIRED>
17 <!ATTLIST arg name CDATA #IMPLIED>
18 <!ATTLIST arg type CDATA #REQUIRED>
19 <!-- Method arguments SHOULD include "direction",
20 while signal and error arguments SHOULD not (since there's no point).
21 The DTD format can't express that subtlety. -->
22 <!ATTLIST arg direction (in|out) "in">
24 <!ELEMENT signal (arg,annotation)>
25 <!ATTLIST signal name CDATA #REQUIRED>
27 <!ELEMENT property (annotation)> <!-- AKA "attribute" -->
28 <!ATTLIST property name CDATA #REQUIRED>
29 <!ATTLIST property type CDATA #REQUIRED>
30 <!ATTLIST property access (read|write|readwrite) #REQUIRED>
32 <!ELEMENT annotation EMPTY> <!-- Generic metadata -->
33 <!ATTLIST annotation name CDATA #REQUIRED>
34 <!ATTLIST annotation value CDATA #REQUIRED>