forked from byorgey/haxr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xml-rpc.dtd
157 lines (118 loc) · 3.7 KB
/
xml-rpc.dtd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!--
XML-RPC DTD
Richard Moore 1999, [email protected]
DTD Version: 0.1
Draft: $Date: 2003/12/06 17:01:25 $
This DTD is based on the XML-RPC specification document which can
be found at <http://www.xmlrpc.com/spec>. There is no version number
in the document, but the version used stated it was last updated on
1/21/99 by DW.
The root element in an XML-RPC document must be either a methodCall or
a methodResponse element.
Typical usage:
<!DOCTYPE methodCall SYSTEM "xml-rpc.dtd">
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
...
</methodCall>
Typical usage, enabling version 2 extensions:
<!DOCTYPE methodCall SYSTEM "xml-rpc.dtd" [
<!ENTITY % XMLRPC.version2 "INCLUDE">
]>
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params><param><value><nil/></value></param></params>
</methodCall>
-->
<!--
1999-10-28 Fred Yankowski <[email protected]>
Make params optional in methodCall.
Allow zero members in struct.
Remove #PCDATA from value content model.
Add version 2 extension: nil element.
-->
<!--
2005-12-01 Bjorn Bringert <[email protected]>
Allow PCDATA in value, in accordance with the XML-RPC spec.
Had to mess it up by allowing any number of elements in
a value element. I'll deal with this in post processing.
-->
<!-- ******************* Version 2 extensions **************** -->
<!ENTITY % XMLRPC.version2 'IGNORE'>
<![ %XMLRPC.version2; [
<!ELEMENT nil
EMPTY
>
<!ENTITY % v2values "| nil" >
]]>
<!ENTITY % v2values "">
<!-- ********************* Scalar types ********************** -->
<!-- [+-]?[0-9]+ -->
<!ELEMENT i4
(#PCDATA)>
<!-- [+-]?[0-9]+ -->
<!ELEMENT i8
(#PCDATA)>
<!-- [+-]?[0-9]+ -->
<!ELEMENT int
(#PCDATA)>
<!-- 0|1 -->
<!ELEMENT boolean
(#PCDATA)>
<!-- Arbitrary binary content -->
<!ELEMENT string
(#PCDATA)>
<!-- [+-][0-9]+.[0-9]+ -->
<!ELEMENT double
(#PCDATA)>
<!-- Date and time in iso8601 format
([0-9][0-9][0-9][0-9]) Year
([0-9][0-9]) Month
([0-9][0-9]) Day of month
('T')
([0-9][0-9]:) Hour
([0-9][0-9]:) Minute
([0-9][0-9]) Seconds
eg. 19980717T14:08:55
-->
<!ELEMENT dateTime.iso8601
(#PCDATA)>
<!-- A valid base64 encoded binary string -->
<!ELEMENT base64
(#PCDATA)>
<!-- ******************* Aggregate types ******************* -->
<!ELEMENT data
(value*)>
<!ELEMENT array
(data)>
<!ELEMENT name
(#PCDATA)>
<!ELEMENT member
(name, value)>
<!ELEMENT struct
(member*)>
<!-- ******************* Parameter handling ******************* -->
<!ELEMENT value
( #PCDATA | i4 | i8 | int | boolean | string | dateTime.iso8601
| double | base64 | struct | array
%v2values;
)*
>
<!ELEMENT param
(value)>
<!ELEMENT params
(param*)>
<!-- ******************* Request information ******************* -->
<!ELEMENT methodName
(#PCDATA)>
<!ELEMENT methodCall
(methodName, params?)>
<!-- ******************* Response information ******************* -->
<!-- Note that the value MUST be a fault structure as specified by the
XML-RPC standard. -->
<!ELEMENT fault
(value)>
<!ELEMENT methodResponse
(params|fault)>