2005-02-17 Colin Walters <walters@verbum.org>
[platform/upstream/dbus.git] / doc / introspect.dtd
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 (interface*,node*)>
8 <!ATTLIST node name CDATA #REQUIRED>
9
10 <!ELEMENT interface (annotation*,method*,signal*,property*)>
11 <!ATTLIST interface name CDATA #REQUIRED>
12
13 <!ELEMENT method (annotation*,arg*)>
14 <!ATTLIST method name CDATA #REQUIRED>
15
16 <!ELEMENT arg EMPTY>
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">
23
24 <!ELEMENT signal (arg,annotation)>
25 <!ATTLIST signal name CDATA #REQUIRED>
26
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>
31
32 <!ELEMENT annotation EMPTY>  <!-- Generic metadata -->
33 <!ATTLIST annotation name CDATA #REQUIRED>
34 <!ATTLIST annotation value CDATA #REQUIRED>
35
36