punchblock 0.7.1 → 0.7.2

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 (42) hide show
  1. data/CHANGELOG.md +12 -0
  2. data/lib/punchblock.rb +1 -0
  3. data/lib/punchblock/command/join.rb +6 -6
  4. data/lib/punchblock/command/unjoin.rb +6 -6
  5. data/lib/punchblock/command_node.rb +1 -0
  6. data/lib/punchblock/component/input.rb +24 -4
  7. data/lib/punchblock/component/output.rb +5 -1
  8. data/lib/punchblock/component/tropo/ask.rb +3 -1
  9. data/lib/punchblock/connection/xmpp.rb +28 -10
  10. data/lib/punchblock/event/joined.rb +6 -6
  11. data/lib/punchblock/event/unjoined.rb +6 -6
  12. data/lib/punchblock/media_container.rb +6 -5
  13. data/lib/punchblock/protocol_error.rb +5 -0
  14. data/lib/punchblock/rayo_node.rb +1 -1
  15. data/lib/punchblock/translator/asterisk.rb +3 -3
  16. data/lib/punchblock/translator/asterisk/call.rb +9 -3
  17. data/lib/punchblock/translator/asterisk/component.rb +35 -0
  18. data/lib/punchblock/translator/asterisk/component/asterisk.rb +1 -0
  19. data/lib/punchblock/translator/asterisk/component/asterisk/agi_command.rb +14 -23
  20. data/lib/punchblock/translator/asterisk/component/asterisk/ami_action.rb +5 -18
  21. data/lib/punchblock/translator/asterisk/component/asterisk/output.rb +94 -0
  22. data/lib/punchblock/version.rb +1 -1
  23. data/punchblock.gemspec +1 -0
  24. data/spec/punchblock/command/join_spec.rb +4 -4
  25. data/spec/punchblock/command/unjoin_spec.rb +4 -4
  26. data/spec/punchblock/component/input_spec.rb +28 -31
  27. data/spec/punchblock/component/output_spec.rb +23 -5
  28. data/spec/punchblock/component/tropo/ask_spec.rb +31 -34
  29. data/spec/punchblock/connection/xmpp_spec.rb +105 -3
  30. data/spec/punchblock/event/joined_spec.rb +4 -4
  31. data/spec/punchblock/event/unjoined_spec.rb +4 -4
  32. data/spec/punchblock/protocol_error_spec.rb +32 -1
  33. data/spec/punchblock/translator/asterisk/call_spec.rb +17 -3
  34. data/spec/punchblock/translator/asterisk/component/asterisk/agi_command_spec.rb +17 -0
  35. data/spec/punchblock/translator/asterisk/component/asterisk/output_spec.rb +489 -0
  36. data/spec/punchblock/translator/asterisk_spec.rb +14 -3
  37. metadata +53 -44
  38. data/assets/ozone/ask-1.0.xsd +0 -56
  39. data/assets/ozone/conference-1.0.xsd +0 -17
  40. data/assets/ozone/ozone-1.0.xsd +0 -127
  41. data/assets/ozone/say-1.0.xsd +0 -24
  42. data/assets/ozone/transfer-1.0.xsd +0 -32
@@ -3,10 +3,11 @@ require 'spec_helper'
3
3
  module Punchblock
4
4
  module Translator
5
5
  describe Asterisk do
6
- let(:ami_client) { mock 'RubyAMI::Client' }
7
- let(:connection) { mock 'Connection::Asterisk' }
6
+ let(:ami_client) { mock 'RubyAMI::Client' }
7
+ let(:connection) { mock 'Connection::Asterisk' }
8
+ let(:media_engine) { :asterisk }
8
9
 
9
- let(:translator) { Asterisk.new ami_client, connection }
10
+ let(:translator) { Asterisk.new ami_client, connection, media_engine }
10
11
 
11
12
  subject { translator }
12
13
 
@@ -15,6 +16,16 @@ module Punchblock
15
16
 
16
17
  after { translator.terminate }
17
18
 
19
+ context 'with a configured media engine of :asterisk' do
20
+ let(:media_engine) { :asterisk }
21
+ its(:media_engine) { should == :asterisk }
22
+ end
23
+
24
+ context 'with a configured media engine of :unimrcp' do
25
+ let(:media_engine) { :unimrcp }
26
+ its(:media_engine) { should == :unimrcp }
27
+ end
28
+
18
29
  describe '#execute_command' do
19
30
  describe 'with a call command' do
20
31
  let(:command) { Command::Answer.new }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: punchblock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-11-24 00:00:00.000000000 Z
14
+ date: 2011-12-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: niceogiri
18
- requirement: &2169359040 !ruby/object:Gem::Requirement
18
+ requirement: &2164396920 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 0.0.4
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2169359040
26
+ version_requirements: *2164396920
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: blather
29
- requirement: &2169357700 !ruby/object:Gem::Requirement
29
+ requirement: &2164396380 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 0.5.9
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2169357700
37
+ version_requirements: *2164396380
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: activesupport
40
- requirement: &2169356540 !ruby/object:Gem::Requirement
40
+ requirement: &2164395740 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: 2.1.0
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *2169356540
48
+ version_requirements: *2164395740
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: state_machine
51
- requirement: &2169355640 !ruby/object:Gem::Requirement
51
+ requirement: &2164395120 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 1.0.1
57
57
  type: :runtime
58
58
  prerelease: false
59
- version_requirements: *2169355640
59
+ version_requirements: *2164395120
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: future-resource
62
- requirement: &2169355140 !ruby/object:Gem::Requirement
62
+ requirement: &2164394580 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 0.0.2
68
68
  type: :runtime
69
69
  prerelease: false
70
- version_requirements: *2169355140
70
+ version_requirements: *2164394580
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: has-guarded-handlers
73
- requirement: &2169354420 !ruby/object:Gem::Requirement
73
+ requirement: &2164393880 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: 0.1.0
79
79
  type: :runtime
80
80
  prerelease: false
81
- version_requirements: *2169354420
81
+ version_requirements: *2164393880
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: celluloid
84
- requirement: &2169353200 !ruby/object:Gem::Requirement
84
+ requirement: &2164392120 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: 0.6.0
90
90
  type: :runtime
91
91
  prerelease: false
92
- version_requirements: *2169353200
92
+ version_requirements: *2164392120
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: ruby_ami
95
- requirement: &2169352440 !ruby/object:Gem::Requirement
95
+ requirement: &2164391380 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
@@ -100,10 +100,21 @@ dependencies:
100
100
  version: 0.1.3
101
101
  type: :runtime
102
102
  prerelease: false
103
- version_requirements: *2169352440
103
+ version_requirements: *2164391380
104
+ - !ruby/object:Gem::Dependency
105
+ name: ruby_speech
106
+ requirement: &2164390440 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: 0.3.4
112
+ type: :runtime
113
+ prerelease: false
114
+ version_requirements: *2164390440
104
115
  - !ruby/object:Gem::Dependency
105
116
  name: bundler
106
- requirement: &2169368900 !ruby/object:Gem::Requirement
117
+ requirement: &2164389600 !ruby/object:Gem::Requirement
107
118
  none: false
108
119
  requirements:
109
120
  - - ~>
@@ -111,10 +122,10 @@ dependencies:
111
122
  version: 1.0.0
112
123
  type: :development
113
124
  prerelease: false
114
- version_requirements: *2169368900
125
+ version_requirements: *2164389600
115
126
  - !ruby/object:Gem::Dependency
116
127
  name: rspec
117
- requirement: &2169367920 !ruby/object:Gem::Requirement
128
+ requirement: &2164353240 !ruby/object:Gem::Requirement
118
129
  none: false
119
130
  requirements:
120
131
  - - ! '>='
@@ -122,10 +133,10 @@ dependencies:
122
133
  version: 2.5.0
123
134
  type: :development
124
135
  prerelease: false
125
- version_requirements: *2169367920
136
+ version_requirements: *2164353240
126
137
  - !ruby/object:Gem::Dependency
127
138
  name: ci_reporter
128
- requirement: &2169366660 !ruby/object:Gem::Requirement
139
+ requirement: &2164352260 !ruby/object:Gem::Requirement
129
140
  none: false
130
141
  requirements:
131
142
  - - ! '>='
@@ -133,10 +144,10 @@ dependencies:
133
144
  version: 1.6.3
134
145
  type: :development
135
146
  prerelease: false
136
- version_requirements: *2169366660
147
+ version_requirements: *2164352260
137
148
  - !ruby/object:Gem::Dependency
138
149
  name: yard
139
- requirement: &2169365560 !ruby/object:Gem::Requirement
150
+ requirement: &2164351080 !ruby/object:Gem::Requirement
140
151
  none: false
141
152
  requirements:
142
153
  - - ~>
@@ -144,10 +155,10 @@ dependencies:
144
155
  version: 0.6.0
145
156
  type: :development
146
157
  prerelease: false
147
- version_requirements: *2169365560
158
+ version_requirements: *2164351080
148
159
  - !ruby/object:Gem::Dependency
149
160
  name: rcov
150
- requirement: &2169364020 !ruby/object:Gem::Requirement
161
+ requirement: &2164350380 !ruby/object:Gem::Requirement
151
162
  none: false
152
163
  requirements:
153
164
  - - ! '>='
@@ -155,10 +166,10 @@ dependencies:
155
166
  version: '0'
156
167
  type: :development
157
168
  prerelease: false
158
- version_requirements: *2169364020
169
+ version_requirements: *2164350380
159
170
  - !ruby/object:Gem::Dependency
160
171
  name: rake
161
- requirement: &2169363080 !ruby/object:Gem::Requirement
172
+ requirement: &2164348740 !ruby/object:Gem::Requirement
162
173
  none: false
163
174
  requirements:
164
175
  - - ! '>='
@@ -166,10 +177,10 @@ dependencies:
166
177
  version: '0'
167
178
  type: :development
168
179
  prerelease: false
169
- version_requirements: *2169363080
180
+ version_requirements: *2164348740
170
181
  - !ruby/object:Gem::Dependency
171
182
  name: mocha
172
- requirement: &2169362260 !ruby/object:Gem::Requirement
183
+ requirement: &2164348020 !ruby/object:Gem::Requirement
173
184
  none: false
174
185
  requirements:
175
186
  - - ! '>='
@@ -177,10 +188,10 @@ dependencies:
177
188
  version: '0'
178
189
  type: :development
179
190
  prerelease: false
180
- version_requirements: *2169362260
191
+ version_requirements: *2164348020
181
192
  - !ruby/object:Gem::Dependency
182
193
  name: i18n
183
- requirement: &2169377820 !ruby/object:Gem::Requirement
194
+ requirement: &2164347400 !ruby/object:Gem::Requirement
184
195
  none: false
185
196
  requirements:
186
197
  - - ! '>='
@@ -188,10 +199,10 @@ dependencies:
188
199
  version: '0'
189
200
  type: :development
190
201
  prerelease: false
191
- version_requirements: *2169377820
202
+ version_requirements: *2164347400
192
203
  - !ruby/object:Gem::Dependency
193
204
  name: countdownlatch
194
- requirement: &2169377080 !ruby/object:Gem::Requirement
205
+ requirement: &2164346700 !ruby/object:Gem::Requirement
195
206
  none: false
196
207
  requirements:
197
208
  - - ! '>='
@@ -199,10 +210,10 @@ dependencies:
199
210
  version: '0'
200
211
  type: :development
201
212
  prerelease: false
202
- version_requirements: *2169377080
213
+ version_requirements: *2164346700
203
214
  - !ruby/object:Gem::Dependency
204
215
  name: guard-rspec
205
- requirement: &2169375900 !ruby/object:Gem::Requirement
216
+ requirement: &2164346200 !ruby/object:Gem::Requirement
206
217
  none: false
207
218
  requirements:
208
219
  - - ! '>='
@@ -210,7 +221,7 @@ dependencies:
210
221
  version: '0'
211
222
  type: :development
212
223
  prerelease: false
213
- version_requirements: *2169375900
224
+ version_requirements: *2164346200
214
225
  description: Like Rack is to Rails and Sinatra, Punchblock provides a consistent API
215
226
  on top of several underlying third-party call control protocols.
216
227
  email: punchblock@adhearsion.com
@@ -227,11 +238,6 @@ files:
227
238
  - LICENSE.txt
228
239
  - README.markdown
229
240
  - Rakefile
230
- - assets/ozone/ask-1.0.xsd
231
- - assets/ozone/conference-1.0.xsd
232
- - assets/ozone/ozone-1.0.xsd
233
- - assets/ozone/say-1.0.xsd
234
- - assets/ozone/transfer-1.0.xsd
235
241
  - lib/punchblock.rb
236
242
  - lib/punchblock/client.rb
237
243
  - lib/punchblock/client/component_registry.rb
@@ -298,6 +304,7 @@ files:
298
304
  - lib/punchblock/translator/asterisk/component/asterisk.rb
299
305
  - lib/punchblock/translator/asterisk/component/asterisk/agi_command.rb
300
306
  - lib/punchblock/translator/asterisk/component/asterisk/ami_action.rb
307
+ - lib/punchblock/translator/asterisk/component/asterisk/output.rb
301
308
  - lib/punchblock/version.rb
302
309
  - punchblock.gemspec
303
310
  - spec/punchblock/client/component_registry_spec.rb
@@ -340,6 +347,7 @@ files:
340
347
  - spec/punchblock/translator/asterisk/call_spec.rb
341
348
  - spec/punchblock/translator/asterisk/component/asterisk/agi_command_spec.rb
342
349
  - spec/punchblock/translator/asterisk/component/asterisk/ami_action_spec.rb
350
+ - spec/punchblock/translator/asterisk/component/asterisk/output_spec.rb
343
351
  - spec/punchblock/translator/asterisk/component_spec.rb
344
352
  - spec/punchblock/translator/asterisk_spec.rb
345
353
  - spec/spec_helper.rb
@@ -358,7 +366,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
358
366
  version: '0'
359
367
  segments:
360
368
  - 0
361
- hash: 1064139490941906549
369
+ hash: 1241799790800462241
362
370
  required_rubygems_version: !ruby/object:Gem::Requirement
363
371
  none: false
364
372
  requirements:
@@ -412,6 +420,7 @@ test_files:
412
420
  - spec/punchblock/translator/asterisk/call_spec.rb
413
421
  - spec/punchblock/translator/asterisk/component/asterisk/agi_command_spec.rb
414
422
  - spec/punchblock/translator/asterisk/component/asterisk/ami_action_spec.rb
423
+ - spec/punchblock/translator/asterisk/component/asterisk/output_spec.rb
415
424
  - spec/punchblock/translator/asterisk/component_spec.rb
416
425
  - spec/punchblock/translator/asterisk_spec.rb
417
426
  - spec/spec_helper.rb
@@ -1,56 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <schema xmlns="http://www.w3.org/2001/XMLSchema"
3
- targetNamespace="urn:xmpp:ozone:ask:1"
4
- xmlns:tns="urn:xmpp:ozone:ask:1"
5
- elementFormDefault="qualified">
6
-
7
- <element name="ask" type="tns:askType" />
8
-
9
- <complexType name="askType">
10
- <sequence>
11
- <element name="prompt" type="tns:promptItemsType" />
12
- <element name="choices" type="tns:choicesType" />
13
- </sequence>
14
- <attribute name="bargein" type="boolean" />
15
- <attribute name="min-confidence" type="tns:percentageType" />
16
- <attribute name="mode" type="tns:choicesModeType" />
17
- <attribute name="recognizer" type="string" />
18
- <attribute name="voice" type="string" />
19
- <attribute name="terminator" type="string" />
20
- <attribute name="timeout" type="float" />
21
- </complexType>
22
-
23
- <!-- Utility Types -->
24
-
25
- <complexType name="promptItemsType">
26
- <choice minOccurs="1" maxOccurs="unbounded">
27
- <element name="audio" type="tns:audioReferenceType" />
28
- <any namespace="http://www.w3.org/2001/10/synthesis" />
29
- </choice>
30
- </complexType>
31
-
32
- <complexType name="audioReferenceType">
33
- <attribute name="url" type="anyURI" />
34
- </complexType>
35
-
36
- <complexType name="choicesType" mixed="true">
37
- <attribute name="content-type" type="string" />
38
- <attribute name="url" type="anyURI" />
39
- </complexType>
40
-
41
- <simpleType name="percentageType">
42
- <restriction base="int">
43
- <minInclusive value="0" />
44
- <maxInclusive value="100" />
45
- </restriction>
46
- </simpleType>
47
-
48
- <simpleType name="choicesModeType">
49
- <restriction base="NCName">
50
- <enumeration value="DTMF" />
51
- <enumeration value="SPEECH" />
52
- <enumeration value="ANY" />
53
- </restriction>
54
- </simpleType>
55
-
56
- </schema>
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <schema xmlns="http://www.w3.org/2001/XMLSchema"
3
- targetNamespace="urn:xmpp:ozone:conference:1"
4
- xmlns:tns="urn:xmpp:ozone:conference:1"
5
- elementFormDefault="qualified">
6
-
7
- <element name="conference" type="tns:conferenceType" />
8
-
9
- <complexType name="conferenceType">
10
- <attribute name="id" type="string" use="required" />
11
- <attribute name="beep" type="boolean" use="optional" />
12
- <attribute name="mute" type="boolean" use="optional" />
13
- <attribute name="tone-passthrough" type="boolean" use="optional" />
14
- <attribute name="terminator" type="string" use="optional" />
15
- </complexType>
16
-
17
- </schema>
@@ -1,127 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <schema xmlns="http://www.w3.org/2001/XMLSchema"
3
- targetNamespace="urn:xmpp:ozone:1"
4
- xmlns:tns="urn:xmpp:ozone:1"
5
- elementFormDefault="qualified">
6
-
7
-
8
- <!-- Events -->
9
-
10
- <element name="offer" type="tns:offerType" />
11
- <element name="info" type="tns:infoType" />
12
- <element name="end" type="tns:endType" />
13
-
14
- <complexType name="offerType">
15
- <sequence>
16
- <element name="header" type="tns:headerType" minOccurs="0" maxOccurs="unbounded" />
17
- </sequence>
18
- <attribute name="callId" type="anyURI" use="required" />
19
- <attribute name="timestamp" type="dateTime" use="required" />
20
- <attribute name="to" type="anyURI" use="required" />
21
- <attribute name="from" type="anyURI" use="optional" />
22
- </complexType>
23
-
24
- <complexType name="infoType">
25
- <choice>
26
- <element name="answer" type="tns:empty" />
27
- <element name="ring" type="tns:empty" />
28
- </choice>
29
- </complexType>
30
-
31
- <complexType name="endType">
32
- <sequence>
33
- <element name="header" type="tns:headerType" minOccurs="0" maxOccurs="unbounded" />
34
- <choice>
35
- <element name="hangup" type="tns:empty" />
36
- <element name="timeout" type="tns:empty" />
37
- <element name="busy" type="tns:empty" />
38
- <element name="reject" type="tns:empty" />
39
- <element name="error" type="tns:endErrorType" />
40
- </choice>
41
- </sequence>
42
- </complexType>
43
-
44
- <complexType name="endErrorType" mixed="true">
45
- <attribute name="code" type="int" />
46
- </complexType>
47
-
48
- <!-- Commands -->
49
-
50
- <element name="bind" type="tns:empty" />
51
- <element name="unbind" type="tns:empty" />
52
-
53
- <element name="answer" type="tns:answerType" />
54
- <element name="redirect" type="tns:redirectType" />
55
- <element name="reject" type="tns:rejectType" />
56
- <element name="hangup" type="tns:hangupType" />
57
- <element name="call" type="tns:callType" />
58
-
59
- <complexType name="answerType">
60
- <attribute name="timeout" type="float" />
61
- </complexType>
62
-
63
- <complexType name="redirectType">
64
- <attribute name="to" type="anyURI" />
65
- </complexType>
66
-
67
- <complexType name="rejectType" mixed="true">
68
- <attribute name="code" type="int" />
69
- </complexType>
70
-
71
- <complexType name="hangupType">
72
- <sequence>
73
- <element name="header" type="tns:headerType" minOccurs="0" maxOccurs="unbounded" />
74
- </sequence>
75
- </complexType>
76
-
77
- <complexType name="callType">
78
- <sequence>
79
- <element name="header" type="tns:headerType" minOccurs="0" maxOccurs="unbounded" />
80
- <element name="recording" type="tns:recordingType" minOccurs="0" maxOccurs="1" />
81
- </sequence>
82
- <attribute name="jid" type="string" use="optional">
83
- <annotation>
84
- <documentation>
85
- Required when used as an IQ result
86
- </documentation>
87
- </annotation>
88
- </attribute>
89
- <attribute name="to" type="anyURI" use="required" />
90
- <attribute name="from" type="anyURI" use="optional" />
91
- <attribute name="timeout" type="float" use="optional" />
92
- </complexType>
93
-
94
- <!-- Utility Types -->
95
-
96
- <complexType name="recordingType">
97
- <sequence>
98
- <element name="credentials" type="tns:credentialsType" minOccurs="0" />
99
- </sequence>
100
- <attribute name="uri" type="anyURI" use="required" />
101
- <attribute name="format" type="string" use="optional" />
102
- <attribute name="httpMethod" type="tns:httpMethodType" use="optional" />
103
- </complexType>
104
-
105
- <complexType name="credentialsType">
106
- <attribute name="username" type="string" use="required" />
107
- <attribute name="password" type="string" use="required" />
108
- </complexType>
109
-
110
- <simpleType name="httpMethodType">
111
- <restriction base="NCName">
112
- <enumeration value="PUT" />
113
- <enumeration value="POST" />
114
- </restriction>
115
- </simpleType>
116
-
117
- <complexType name="headerType" mixed="true">
118
- <attribute name="name" type="anyURI" />
119
- </complexType>
120
-
121
- <simpleType name="empty">
122
- <restriction base="string">
123
- <enumeration value='' />
124
- </restriction>
125
- </simpleType>
126
-
127
- </schema>