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 (node|interface)*>
8 <!ATTLIST node name CDATA #IMPLIED>
10 <!ELEMENT interface (method|signal|property|annotation)*>
11 <!ATTLIST interface name CDATA #REQUIRED>
13 <!ELEMENT method (arg|annotation)*>
14 <!ATTLIST method name CDATA #REQUIRED>
16 <!ELEMENT signal (arg|annotation)*>
17 <!ATTLIST signal name CDATA #REQUIRED>
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">
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>
33 <!ELEMENT annotation EMPTY> <!-- Generic metadata -->
34 <!ATTLIST annotation name CDATA #REQUIRED>
35 <!ATTLIST annotation value CDATA #REQUIRED>