riddl 0.99.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. data/AUTHORS +1 -0
  2. data/COPYING +165 -0
  3. data/INSTALL +24 -0
  4. data/README.rdoc +2 -0
  5. data/Rakefile +17 -0
  6. data/TODO +17 -0
  7. data/contrib/riddl.jpg +0 -0
  8. data/contrib/riddl.png +0 -0
  9. data/contrib/riddl.svg +138 -0
  10. data/lib/riddl/client.rb +423 -0
  11. data/lib/riddl/commonlogger.rb +16 -0
  12. data/lib/riddl/constants.rb +5 -0
  13. data/lib/riddl/error.rb +8 -0
  14. data/lib/riddl/handlers.rb +14 -0
  15. data/lib/riddl/handlers/oauth.rb +19 -0
  16. data/lib/riddl/handlers/plain-type.rb +21 -0
  17. data/lib/riddl/handlers/relaxng.rb +16 -0
  18. data/lib/riddl/handlers/xmlschema.rb +16 -0
  19. data/lib/riddl/header.rb +9 -0
  20. data/lib/riddl/implementation.rb +57 -0
  21. data/lib/riddl/ns/common-patterns/addon-security/request.xml +25 -0
  22. data/lib/riddl/ns/common-patterns/addon-security/response.xml +25 -0
  23. data/lib/riddl/ns/common-patterns/downloadify/1.0/downloadify.xml +18 -0
  24. data/lib/riddl/ns/common-patterns/notifications-consumer/1.0/consumer.xml +100 -0
  25. data/lib/riddl/ns/common-patterns/notifications-producer/1.0/producer.xml +204 -0
  26. data/lib/riddl/ns/common-patterns/properties/1.0/properties.schema.schema +140 -0
  27. data/lib/riddl/ns/common-patterns/properties/1.0/properties.schema.xsl +89 -0
  28. data/lib/riddl/ns/common-patterns/properties/1.0/properties.xml +150 -0
  29. data/lib/riddl/ns/common/datatypes-1_0.rng +79 -0
  30. data/lib/riddl/ns/common/relaxng-modular.rng +330 -0
  31. data/lib/riddl/ns/common/relaxng.rng +10 -0
  32. data/lib/riddl/ns/declaration/1.0/declaration.rng +114 -0
  33. data/lib/riddl/ns/description/1.0/description.rng +302 -0
  34. data/lib/riddl/option.rb +9 -0
  35. data/lib/riddl/parameter.rb +54 -0
  36. data/lib/riddl/protocols/http/generator.rb +121 -0
  37. data/lib/riddl/protocols/http/parser.rb +199 -0
  38. data/lib/riddl/protocols/websocket.rb +103 -0
  39. data/lib/riddl/protocols/xmpp/generator.rb +176 -0
  40. data/lib/riddl/protocols/xmpp/parser.rb +118 -0
  41. data/lib/riddl/roles.rb +15 -0
  42. data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0%2Faccess_token.rb +30 -0
  43. data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0%2Fon_behalf.rb +22 -0
  44. data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0%2Frequest_token.rb +30 -0
  45. data/lib/riddl/roles/http%3A%2F%2Foauth.net%2F1.0/base.rb +67 -0
  46. data/lib/riddl/server.rb +519 -0
  47. data/lib/riddl/utils/description.rb +29 -0
  48. data/lib/riddl/utils/downloadify.rb +14 -0
  49. data/lib/riddl/utils/erbserve.rb +23 -0
  50. data/lib/riddl/utils/fileserve.rb +31 -0
  51. data/lib/riddl/utils/notifications_producer.rb +310 -0
  52. data/lib/riddl/utils/properties.rb +474 -0
  53. data/lib/riddl/utils/xsloverlay.rb +21 -0
  54. data/lib/riddl/wrapper.rb +280 -0
  55. data/lib/riddl/wrapper/declaration.rb +103 -0
  56. data/lib/riddl/wrapper/declaration/facade.rb +94 -0
  57. data/lib/riddl/wrapper/declaration/interface.rb +34 -0
  58. data/lib/riddl/wrapper/declaration/tile.rb +107 -0
  59. data/lib/riddl/wrapper/description.rb +69 -0
  60. data/lib/riddl/wrapper/description/access.rb +108 -0
  61. data/lib/riddl/wrapper/description/message_and_transformation.rb +131 -0
  62. data/lib/riddl/wrapper/description/resource.rb +271 -0
  63. data/lib/riddl/wrapper/layerchecker.rb +33 -0
  64. data/lib/riddl/wrapper/messageparser.rb +221 -0
  65. data/lib/riddl/wrapper/resourcechecker.rb +98 -0
  66. data/ns/common-patterns/addon-security/request.xml +25 -0
  67. data/ns/common-patterns/addon-security/response.xml +25 -0
  68. data/ns/common-patterns/downloadify/1.0/downloadify.xml +18 -0
  69. data/ns/common-patterns/notifications-consumer/1.0/consumer.xml +100 -0
  70. data/ns/common-patterns/notifications-producer/1.0/producer.xml +204 -0
  71. data/ns/common-patterns/properties/1.0/properties.schema.schema +140 -0
  72. data/ns/common-patterns/properties/1.0/properties.schema.xsl +89 -0
  73. data/ns/common-patterns/properties/1.0/properties.xml +150 -0
  74. data/ns/common/datatypes-1_0.rng +79 -0
  75. data/ns/common/relaxng-modular.rng +330 -0
  76. data/ns/common/relaxng.rng +10 -0
  77. data/ns/declaration/1.0/declaration.rng +114 -0
  78. data/ns/description/1.0/description.rng +302 -0
  79. data/riddl.gemspec +33 -0
  80. data/test/smartrunner.rb +48 -0
  81. data/test/tc_declaration-distributed.rb +79 -0
  82. data/test/tc_declaration-hybrid.rb +71 -0
  83. data/test/tc_declaration-local.rb +47 -0
  84. data/test/tc_helloworld.rb +17 -0
  85. data/test/tc_producer.rb +54 -0
  86. data/test/tc_properties.rb +72 -0
  87. data/tools/flash-policy-server.rb +12 -0
  88. data/tools/riddlcheck +36 -0
  89. data/tools/riddlcheck-1_0 +36 -0
  90. data/tools/riddlprocess +51 -0
  91. data/tools/riddlprocess-1_0 +51 -0
  92. metadata +291 -0
@@ -0,0 +1,330 @@
1
+ <?xml version="1.0"?>
2
+ <!-- RELAX NG for RELAX NG -->
3
+ <!-- $Id: relaxng.rng,v 1.31 2002/05/30 06:07:43 jjc Exp $ -->
4
+ <!-- eTM 2009/03/11 made <data> a definition, referenced in pattern -->
5
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://relaxng.org/ns/structure/1.0">
6
+ <!--start>
7
+ <ref name="pattern"/>
8
+ </start-->
9
+
10
+ <define name="pattern">
11
+ <choice>
12
+ <element name="element">
13
+ <choice>
14
+ <attribute name="name">
15
+ <data type="QName"/>
16
+ </attribute>
17
+ <ref name="open-name-class"/>
18
+ </choice>
19
+ <ref name="common-atts"/>
20
+ <ref name="open-patterns"/>
21
+ </element>
22
+ <element name="attribute">
23
+ <ref name="common-atts"/>
24
+ <choice>
25
+ <attribute name="name">
26
+ <data type="QName"/>
27
+ </attribute>
28
+ <ref name="open-name-class"/>
29
+ </choice>
30
+ <interleave>
31
+ <ref name="other"/>
32
+ <optional>
33
+ <ref name="pattern"/>
34
+ </optional>
35
+ </interleave>
36
+ </element>
37
+ <element name="group">
38
+ <ref name="common-atts"/>
39
+ <ref name="open-patterns"/>
40
+ </element>
41
+ <element name="interleave">
42
+ <ref name="common-atts"/>
43
+ <ref name="open-patterns"/>
44
+ </element>
45
+ <element name="choice">
46
+ <ref name="common-atts"/>
47
+ <ref name="open-patterns"/>
48
+ </element>
49
+ <element name="optional">
50
+ <ref name="common-atts"/>
51
+ <ref name="open-patterns"/>
52
+ </element>
53
+ <element name="zeroOrMore">
54
+ <ref name="common-atts"/>
55
+ <ref name="open-patterns"/>
56
+ </element>
57
+ <element name="oneOrMore">
58
+ <ref name="common-atts"/>
59
+ <ref name="open-patterns"/>
60
+ </element>
61
+ <element name="list">
62
+ <ref name="common-atts"/>
63
+ <ref name="open-patterns"/>
64
+ </element>
65
+ <element name="mixed">
66
+ <ref name="common-atts"/>
67
+ <ref name="open-patterns"/>
68
+ </element>
69
+ <element name="ref">
70
+ <attribute name="name">
71
+ <data type="NCName"/>
72
+ </attribute>
73
+ <ref name="common-atts"/>
74
+ <ref name="other"/>
75
+ </element>
76
+ <element name="parentRef">
77
+ <attribute name="name">
78
+ <data type="NCName"/>
79
+ </attribute>
80
+ <ref name="common-atts"/>
81
+ <ref name="other"/>
82
+ </element>
83
+ <element name="empty">
84
+ <ref name="common-atts"/>
85
+ <ref name="other"/>
86
+ </element>
87
+ <element name="text">
88
+ <ref name="common-atts"/>
89
+ <ref name="other"/>
90
+ </element>
91
+ <element name="value">
92
+ <optional>
93
+ <attribute name="type">
94
+ <data type="NCName"/>
95
+ </attribute>
96
+ </optional>
97
+ <ref name="common-atts"/>
98
+ <text/>
99
+ </element>
100
+ <element name="data">
101
+ <ref name="common-atts"/>
102
+ <ref name="data"/>
103
+ </element>
104
+ <element name="notAllowed">
105
+ <ref name="common-atts"/>
106
+ <ref name="other"/>
107
+ </element>
108
+ <element name="externalRef">
109
+ <attribute name="href">
110
+ <data type="anyURI"/>
111
+ </attribute>
112
+ <ref name="common-atts"/>
113
+ <ref name="other"/>
114
+ </element>
115
+ <element name="grammar">
116
+ <ref name="common-atts"/>
117
+ <ref name="grammar-content"/>
118
+ </element>
119
+ </choice>
120
+ </define>
121
+ <define name="grammar-content">
122
+ <interleave>
123
+ <ref name="other"/>
124
+ <zeroOrMore>
125
+ <choice>
126
+ <ref name="start-element"/>
127
+ <ref name="define-element"/>
128
+ <element name="div">
129
+ <ref name="common-atts"/>
130
+ <ref name="grammar-content"/>
131
+ </element>
132
+ <element name="include">
133
+ <attribute name="href">
134
+ <data type="anyURI"/>
135
+ </attribute>
136
+ <ref name="common-atts"/>
137
+ <ref name="include-content"/>
138
+ </element>
139
+ </choice>
140
+ </zeroOrMore>
141
+ </interleave>
142
+ </define>
143
+
144
+ <define name="data">
145
+ <attribute name="type">
146
+ <data type="NCName"/>
147
+ </attribute>
148
+ <interleave>
149
+ <ref name="other"/>
150
+ <group>
151
+ <zeroOrMore>
152
+ <element name="param">
153
+ <attribute name="name">
154
+ <data type="NCName"/>
155
+ </attribute>
156
+ <ref name="common-atts"/>
157
+ <text/>
158
+ </element>
159
+ </zeroOrMore>
160
+ <optional>
161
+ <element name="except">
162
+ <ref name="common-atts"/>
163
+ <ref name="open-patterns"/>
164
+ </element>
165
+ </optional>
166
+ </group>
167
+ </interleave>
168
+ </define>
169
+
170
+ <define name="include-content">
171
+ <interleave>
172
+ <ref name="other"/>
173
+ <zeroOrMore>
174
+ <choice>
175
+ <ref name="start-element"/>
176
+ <ref name="define-element"/>
177
+ <element name="div">
178
+ <ref name="common-atts"/>
179
+ <ref name="include-content"/>
180
+ </element>
181
+ </choice>
182
+ </zeroOrMore>
183
+ </interleave>
184
+ </define>
185
+ <define name="start-element">
186
+ <element name="start">
187
+ <ref name="combine-att"/>
188
+ <ref name="common-atts"/>
189
+ <ref name="open-pattern"/>
190
+ </element>
191
+ </define>
192
+ <define name="define-element">
193
+ <element name="define">
194
+ <attribute name="name">
195
+ <data type="NCName"/>
196
+ </attribute>
197
+ <ref name="combine-att"/>
198
+ <ref name="common-atts"/>
199
+ <ref name="open-patterns"/>
200
+ </element>
201
+ </define>
202
+ <define name="combine-att">
203
+ <optional>
204
+ <attribute name="combine">
205
+ <choice>
206
+ <value>choice</value>
207
+ <value>interleave</value>
208
+ </choice>
209
+ </attribute>
210
+ </optional>
211
+ </define>
212
+ <define name="open-patterns">
213
+ <interleave>
214
+ <ref name="other"/>
215
+ <oneOrMore>
216
+ <ref name="pattern"/>
217
+ </oneOrMore>
218
+ </interleave>
219
+ </define>
220
+ <define name="open-pattern">
221
+ <interleave>
222
+ <ref name="other"/>
223
+ <ref name="pattern"/>
224
+ </interleave>
225
+ </define>
226
+ <define name="name-class">
227
+ <choice>
228
+ <element name="name">
229
+ <ref name="common-atts"/>
230
+ <data type="QName"/>
231
+ </element>
232
+ <element name="anyName">
233
+ <ref name="common-atts"/>
234
+ <ref name="except-name-class"/>
235
+ </element>
236
+ <element name="nsName">
237
+ <ref name="common-atts"/>
238
+ <ref name="except-name-class"/>
239
+ </element>
240
+ <element name="choice">
241
+ <ref name="common-atts"/>
242
+ <ref name="open-name-classes"/>
243
+ </element>
244
+ </choice>
245
+ </define>
246
+
247
+ <define name="except-name-class">
248
+ <interleave>
249
+ <ref name="other"/>
250
+ <optional>
251
+ <element name="except">
252
+ <ref name="open-name-classes"/>
253
+ </element>
254
+ </optional>
255
+ </interleave>
256
+ </define>
257
+
258
+ <define name="open-name-classes">
259
+ <interleave>
260
+ <ref name="other"/>
261
+ <oneOrMore>
262
+ <ref name="name-class"/>
263
+ </oneOrMore>
264
+ </interleave>
265
+ </define>
266
+
267
+ <define name="open-name-class">
268
+ <interleave>
269
+ <ref name="other"/>
270
+ <ref name="name-class"/>
271
+ </interleave>
272
+ </define>
273
+
274
+ <define name="common-atts">
275
+ <optional>
276
+ <attribute name="ns"/>
277
+ </optional>
278
+ <optional>
279
+ <attribute name="datatypeLibrary">
280
+ <data type="anyURI"/>
281
+ </attribute>
282
+ </optional>
283
+ <zeroOrMore>
284
+ <attribute>
285
+ <anyName>
286
+ <except>
287
+ <nsName/>
288
+ <nsName ns=""/>
289
+ </except>
290
+ </anyName>
291
+ </attribute>
292
+ </zeroOrMore>
293
+ </define>
294
+
295
+ <define name="other">
296
+ <zeroOrMore>
297
+ <element>
298
+ <anyName>
299
+ <except>
300
+ <nsName/>
301
+ </except>
302
+ </anyName>
303
+ <zeroOrMore>
304
+ <choice>
305
+ <attribute>
306
+ <anyName/>
307
+ </attribute>
308
+ <text/>
309
+ <ref name="any"/>
310
+ </choice>
311
+ </zeroOrMore>
312
+ </element>
313
+ </zeroOrMore>
314
+ </define>
315
+
316
+ <define name="any">
317
+ <element>
318
+ <anyName/>
319
+ <zeroOrMore>
320
+ <choice>
321
+ <attribute>
322
+ <anyName/>
323
+ </attribute>
324
+ <text/>
325
+ <ref name="any"/>
326
+ </choice>
327
+ </zeroOrMore>
328
+ </element>
329
+ </define>
330
+ </grammar>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0"?>
2
+ <!-- RELAX NG for RELAX NG -->
3
+ <!-- $Id: relaxng.rng,v 1.31 2002/05/30 06:07:43 jjc Exp $ -->
4
+ <!-- eTM 2009/03/11 made <data> a definition, referenced in pattern -->
5
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://relaxng.org/ns/structure/1.0">
6
+ <include href="relaxng-modular.rng"/>
7
+ <start>
8
+ <ref name="pattern"/>
9
+ </start>
10
+ </grammar>
@@ -0,0 +1,114 @@
1
+ <?xml version="1.0"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://riddl.org/ns/declaration/1.0">
3
+ <include href="../../description/1.0/description.rng">
4
+ <start>
5
+ <ref name="declaration"/>
6
+ </start>
7
+ </include>
8
+
9
+ <define name="declaration">
10
+ <element name="declaration">
11
+ <ref name="riddl-declaration-other-atts"/>
12
+ <oneOrMore>
13
+ <ref name="riddl-interface"/>
14
+ </oneOrMore>
15
+ <element name="facade">
16
+ <ref name="riddl-facade"/>
17
+ </element>
18
+ </element>
19
+ </define>
20
+
21
+ <define name="riddl-interface">
22
+ <element name="interface">
23
+ <optional>
24
+ <attribute name="location">
25
+ <data type="anyURI"/>
26
+ </attribute>
27
+ </optional>
28
+ <attribute name="name">
29
+ <ref name="riddl-datatype-name"/>
30
+ </attribute>
31
+ <ref name="riddl-description-include"/>
32
+ </element>
33
+ </define>
34
+
35
+ <define name="riddl-facade">
36
+ <oneOrMore>
37
+ <element name="tile">
38
+ <optional>
39
+ <attribute name="path">
40
+ <ref name="riddl-datatype-pathtemplate"/>
41
+ </attribute>
42
+ </optional>
43
+ <oneOrMore>
44
+ <element name="layer">
45
+ <ref name="riddl-layer"/>
46
+ </element>
47
+ </oneOrMore>
48
+ </element>
49
+ </oneOrMore>
50
+ </define>
51
+
52
+ <define name="riddl-layer">
53
+ <attribute name="name">
54
+ <ref name="riddl-datatype-name"/>
55
+ </attribute>
56
+ <zeroOrMore>
57
+ <element name="apply-to">
58
+ <ref name="riddl-datatype-pathtemplate"/>
59
+ </element>
60
+ </zeroOrMore>
61
+ <zeroOrMore>
62
+ <element name="block">
63
+ <optional>
64
+ <ref name="riddl-att-method"/>
65
+ </optional>
66
+ <optional>
67
+ <ref name="riddl-atts-request"/>
68
+ </optional>
69
+ <ref name="riddl-datatype-pathtemplate"/>
70
+ </element>
71
+ </zeroOrMore>
72
+ </define>
73
+
74
+ <define name="riddl-description-include">
75
+ <choice>
76
+ <element name="include" ns="http://www.w3.org/2001/XInclude">
77
+ <attribute name="href">
78
+ <data type="anyURI"/>
79
+ </attribute>
80
+ </element>
81
+ <element name="description" ns="http://riddl.org/ns/description/1.0">
82
+ <ref name="riddl-description"/>
83
+ </element>
84
+ </choice>
85
+ </define>
86
+
87
+ <define name="riddl-declaration-others">
88
+ <ref name="other"/>
89
+ <zeroOrMore>
90
+ <attribute>
91
+ <anyName>
92
+ <except>
93
+ <nsName/>
94
+ <nsName ns=""/>
95
+ </except>
96
+ </anyName>
97
+ </attribute>
98
+ </zeroOrMore>
99
+ </define>
100
+
101
+ <define name="riddl-declaration-other-atts">
102
+ <zeroOrMore>
103
+ <attribute>
104
+ <anyName>
105
+ <except>
106
+ <nsName/>
107
+ <nsName ns=""/>
108
+ </except>
109
+ </anyName>
110
+ </attribute>
111
+ </zeroOrMore>
112
+ </define>
113
+
114
+ </grammar>