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