rubyjedi-soap4r 1.5.8.01 → 1.5.8.20100616125722

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 (150) hide show
  1. data/bin/wsdl2ruby.rb +1 -0
  2. data/bin/xsd2ruby.rb +1 -1
  3. data/lib/soap/baseData.rb +1 -1
  4. data/lib/soap/element.rb +0 -2
  5. data/lib/soap/generator.rb +1 -2
  6. data/lib/soap/mapping/encodedregistry.rb +1 -0
  7. data/lib/soap/mapping/factory.rb +2 -2
  8. data/lib/soap/mapping/mapping.rb +3 -4
  9. data/lib/soap/mapping/registry.rb +0 -15
  10. data/lib/soap/mapping/rubytypeFactory.rb +0 -1
  11. data/lib/soap/mapping/wsdlencodedregistry.rb +1 -1
  12. data/lib/soap/mimemessage.rb +1 -0
  13. data/lib/soap/nestedexception.rb +1 -1
  14. data/lib/soap/netHttpClient.rb +4 -4
  15. data/lib/soap/ns.rb +4 -0
  16. data/lib/soap/property.rb +21 -15
  17. data/lib/soap/rpc/element.rb +1 -1
  18. data/lib/soap/rpc/standaloneServer.rb +1 -1
  19. data/lib/soap/soap.rb +4 -2
  20. data/lib/soap/streamHandler.rb +1 -1
  21. data/lib/soap/version.rb +8 -0
  22. data/lib/soap/wsdlDriver.rb +2 -2
  23. data/lib/wsdl/parser.rb +4 -4
  24. data/lib/wsdl/soap/classDefCreatorSupport.rb +1 -1
  25. data/lib/wsdl/soap/clientSkeltonCreator.rb +4 -2
  26. data/lib/wsdl/soap/driverCreator.rb +4 -2
  27. data/lib/wsdl/soap/methodDefCreator.rb +1 -1
  28. data/lib/wsdl/soap/servantSkeltonCreator.rb +4 -2
  29. data/lib/wsdl/soap/wsdl2ruby.rb +1 -1
  30. data/lib/wsdl/xmlSchema/parser.rb +4 -4
  31. data/lib/wsdl/xmlSchema/xsd2ruby.rb +1 -1
  32. data/lib/xsd/charset.rb +4 -3
  33. data/lib/xsd/codegen/gensupport.rb +8 -5
  34. data/lib/xsd/datatypes.rb +6 -6
  35. data/lib/xsd/ns.rb +1 -1
  36. data/lib/xsd/qname.rb +2 -2
  37. data/lib/xsd/xmlparser.rb +11 -17
  38. data/lib/xsd/xmlparser/libxmlparser.rb +6 -10
  39. data/test/helper.rb +6 -0
  40. data/test/soap/asp.net/test_aspdotnet.rb +3 -3
  41. data/test/soap/auth/test_basic.rb +2 -2
  42. data/test/soap/auth/test_digest.rb +2 -2
  43. data/test/soap/calc/server.cgi +2 -0
  44. data/test/soap/calc/test_calc.rb +3 -2
  45. data/test/soap/calc/test_calc2.rb +3 -2
  46. data/test/soap/calc/test_calc_cgi.rb +1 -1
  47. data/test/soap/case/test_mapping.rb +2 -2
  48. data/test/soap/fault/test_customfault.rb +1 -1
  49. data/test/soap/fault/test_fault.rb +1 -1
  50. data/test/soap/fault/test_soaparray.rb +1 -1
  51. data/test/soap/filter/test_filter.rb +1 -1
  52. data/test/soap/header/server.cgi +1 -0
  53. data/test/soap/header/test_authheader.rb +1 -1
  54. data/test/soap/header/test_authheader_cgi.rb +1 -1
  55. data/test/soap/header/test_simplehandler.rb +1 -1
  56. data/test/soap/helloworld/test_helloworld.rb +3 -2
  57. data/test/soap/literalArrayMapping/test_definedarray.rb +2 -2
  58. data/test/soap/marshal/marshaltestlib.rb +5 -2
  59. data/test/soap/marshal/test_digraph.rb +1 -1
  60. data/test/soap/marshal/test_marshal.rb +3 -2
  61. data/test/soap/marshal/test_struct.rb +1 -1
  62. data/test/soap/ssl/sslsvr.rb +1 -0
  63. data/test/soap/ssl/test_ssl.rb +1 -1
  64. data/test/soap/struct/test_struct.rb +2 -2
  65. data/test/soap/swa/test_file.rb +1 -1
  66. data/test/soap/test_basetype.rb +1 -1
  67. data/test/soap/test_cookie.rb +2 -2
  68. data/test/soap/test_custom_ns.rb +4 -4
  69. data/test/soap/test_custommap.rb +1 -1
  70. data/test/soap/test_empty.rb +6 -6
  71. data/test/soap/test_envelopenamespace.rb +2 -2
  72. data/test/soap/test_extraattr.rb +2 -2
  73. data/test/soap/test_generator.rb +5 -3
  74. data/test/soap/test_httpconfigloader.rb +1 -1
  75. data/test/soap/test_mapping.rb +1 -1
  76. data/test/soap/test_nestedexception.rb +28 -14
  77. data/test/soap/test_nil.rb +23 -28
  78. data/test/soap/test_no_indent.rb +3 -3
  79. data/test/soap/test_property.rb +2 -2
  80. data/test/soap/test_response_as_xml.rb +4 -4
  81. data/test/soap/test_soapelement.rb +1 -1
  82. data/test/soap/test_streamhandler.rb +2 -2
  83. data/test/soap/test_styleuse.rb +2 -2
  84. data/test/soap/wsdlDriver/test_calc.rb +2 -2
  85. data/test/soap/wsdlDriver/test_document.rb +2 -2
  86. data/test/soap/wsdlDriver/test_simpletype.rb +3 -2
  87. data/test/testutil.rb +4 -4
  88. data/test/wsdl/abstract/test_abstract.rb +2 -2
  89. data/test/wsdl/anonymous/test_anonymous.rb +2 -2
  90. data/test/wsdl/any/test_any.rb +2 -2
  91. data/test/wsdl/axisArray/test_axisarray.rb +2 -2
  92. data/test/wsdl/choice/test_choice.rb +2 -2
  93. data/test/wsdl/complexcontent/test_echo.rb +2 -2
  94. data/test/wsdl/datetime/test_datetime.rb +3 -2
  95. data/test/wsdl/document/array/test_array.rb +2 -2
  96. data/test/wsdl/document/test_nosoapaction.rb +2 -2
  97. data/test/wsdl/document/test_number.rb +2 -2
  98. data/test/wsdl/document/test_rpc.rb +2 -2
  99. data/test/wsdl/fault/multifault.wsdl +8 -8
  100. data/test/wsdl/fault/test_fault.rb +3 -3
  101. data/test/wsdl/fault/test_multifault.rb +13 -13
  102. data/test/wsdl/group/test_rpc.rb +2 -2
  103. data/test/wsdl/list/test_list.rb +2 -2
  104. data/test/wsdl/map/test_map.rb +1 -1
  105. data/test/wsdl/marshal/test_wsdlmarshal.rb +3 -4
  106. data/test/wsdl/oneway/test_oneway.rb +2 -2
  107. data/test/wsdl/overload/test_overload.rb +2 -2
  108. data/test/wsdl/qualified/test_qualified.rb +4 -4
  109. data/test/wsdl/qualified/test_unqualified.rb +4 -4
  110. data/test/wsdl/raa/test_raa.rb +4 -4
  111. data/test/wsdl/ref/test_ref.rb +2 -2
  112. data/test/wsdl/rpc/test_rpc.rb +2 -2
  113. data/test/wsdl/rpc/test_rpc_lit.rb +18 -18
  114. data/test/wsdl/simplecontent/test_simplecontent.rb +2 -2
  115. data/test/wsdl/simpletype/rpc/test_rpc.rb +2 -2
  116. data/test/wsdl/simpletype/test_simpletype.rb +2 -2
  117. data/test/wsdl/soap/test_soapbodyparts.rb +1 -1
  118. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +2 -2
  119. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +2 -2
  120. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +2 -2
  121. data/test/wsdl/soaptype/test_soaptype.rb +5 -5
  122. data/test/wsdl/test_emptycomplextype.rb +1 -1
  123. data/test/wsdl/test_fault.rb +1 -1
  124. data/test/wsdl/test_multiplefault.rb +1 -1
  125. data/test/xsd/codegen/test_classdef.rb +1 -1
  126. data/test/xsd/test_noencoding.rb +1 -1
  127. data/test/xsd/test_ns.rb +1 -1
  128. data/test/xsd/test_xmlschemaparser.rb +1 -1
  129. data/test/xsd/test_xsd.rb +1 -1
  130. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +3 -3
  131. metadata +24 -33
  132. data/lib/soap/rpc/element.rb.orig +0 -378
  133. data/lib/soap/ruby18ext.rb +0 -13
  134. data/lib/xsd/xmlparser.rb.orig +0 -110
  135. data/test/results +0 -4810
  136. data/test/soap/header/session.pstoredb +0 -0
  137. data/test/wsdl/marshal/Person.rb +0 -1
  138. data/test/wsdl/simpletype/rpc/echo_version.rb +0 -1
  139. data/test/wsdl/simpletype/rpc/echo_versionDriver.rb +0 -10
  140. data/test/wsdl/simpletype/rpc/echo_versionMappingRegistry.rb +0 -4
  141. data/test/wsdl/simpletype/rpc/echo_versionServant.rb +0 -3
  142. data/test/wsdl/simpletype/rpc/echo_version_service.rb +0 -3
  143. data/test/wsdl/simpletype/rpc/echo_version_serviceClient.rb +0 -34
  144. data/test/wsdl/soap/wsdl2ruby/echo_version.rb +0 -1
  145. data/test/wsdl/soap/wsdl2ruby/echo_versionDriver.rb +0 -10
  146. data/test/wsdl/soap/wsdl2ruby/echo_versionMappingRegistry.rb +0 -4
  147. data/test/wsdl/soap/wsdl2ruby/echo_versionServant.rb +0 -3
  148. data/test/wsdl/soap/wsdl2ruby/echo_version_service.cgi +0 -3
  149. data/test/wsdl/soap/wsdl2ruby/echo_version_service.rb +0 -7
  150. data/test/wsdl/soap/wsdl2ruby/echo_version_serviceClient.rb +0 -34
@@ -1,378 +0,0 @@
1
- # SOAP4R - RPC element definition.
2
- # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
-
4
- # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
- # redistribute it and/or modify it under the same terms of Ruby's license;
6
- # either the dual license version in 2003, or any later version.
7
-
8
-
9
- require 'soap/baseData'
10
- require 'soap/rpc/methodDef'
11
-
12
-
13
- module SOAP
14
-
15
- # Add method definitions for RPC to common definition in element.rb
16
- class SOAPBody < SOAPStruct
17
- public
18
-
19
- def request
20
- root_node
21
- end
22
-
23
- def response
24
- root = root_node
25
- if !@is_fault
26
- if root.nil?
27
- nil
28
- elsif root.is_a?(SOAPBasetype)
29
- root
30
- else
31
- # Initial element is [retval].
32
- root[0]
33
- end
34
- else
35
- root
36
- end
37
- end
38
-
39
- def outparams
40
- root = root_node
41
- if !@is_fault and !root.nil? and !root.is_a?(SOAPBasetype)
42
- op = root[1..-1]
43
- op = nil if op && op.empty?
44
- op
45
- else
46
- nil
47
- end
48
- end
49
-
50
- def fault
51
- if @is_fault
52
- self['fault']
53
- else
54
- nil
55
- end
56
- end
57
-
58
- def fault=(fault)
59
- @is_fault = true
60
- add('fault', fault)
61
- end
62
- end
63
-
64
-
65
- module RPC
66
-
67
-
68
- class RPCError < Error; end
69
- class MethodDefinitionError < RPCError; end
70
- class ParameterError < RPCError; end
71
-
72
- class SOAPMethod < SOAPStruct
73
- RETVAL = :retval
74
- IN = :in
75
- OUT = :out
76
- INOUT = :inout
77
-
78
- attr_reader :param_def
79
- attr_reader :inparam
80
- attr_reader :outparam
81
- attr_reader :retval_name
82
- attr_reader :retval_class_name
83
-
84
- def initialize(qname, param_def = nil)
85
- super(nil)
86
- @elename = qname
87
- @encodingstyle = nil
88
-
89
- @param_def = param_def
90
-
91
- @signature = []
92
- @inparam_names = []
93
- @inoutparam_names = []
94
- @outparam_names = []
95
-
96
- @inparam = {}
97
- @outparam = {}
98
- @retval_name = nil
99
- @retval_class_name = nil
100
-
101
- init_params(@param_def) if @param_def
102
- end
103
-
104
- def have_member
105
- true
106
- end
107
-
108
- def have_outparam?
109
- @outparam_names.size > 0
110
- end
111
-
112
- def input_params
113
- collect_params(IN, INOUT)
114
- end
115
-
116
- def output_params
117
- collect_params(OUT, INOUT)
118
- end
119
-
120
- def input_param_types
121
- collect_param_types(IN, INOUT)
122
- end
123
-
124
- def output_param_types
125
- collect_param_types(OUT, INOUT)
126
- end
127
-
128
- def set_param(params)
129
- params.each do |param, data|
130
- @inparam[param] = data
131
- data.elename = XSD::QName.new(data.elename.namespace, param)
132
- data.parent = self
133
- end
134
- end
135
-
136
- def set_outparam(params)
137
- params.each do |param, data|
138
- @outparam[param] = data
139
- data.elename = XSD::QName.new(data.elename.namespace, param)
140
- end
141
- end
142
-
143
- def get_paramtypes(names)
144
- types = []
145
- @signature.each do |io_type, name, type_qname|
146
- if type_qname && idx = names.index(name)
147
- types[idx] = type_qname
148
- end
149
- end
150
- types
151
- end
152
-
153
- def SOAPMethod.param_count(param_def, *type)
154
- count = 0
155
- param_def.each do |param|
156
- param = MethodDef.to_param(param)
157
- if type.include?(param.io_type.to_sym)
158
- count += 1
159
- end
160
- end
161
- count
162
- end
163
-
164
- def SOAPMethod.derive_rpc_param_def(obj, name, *param)
165
- if param.size == 1 and param[0].is_a?(Array)
166
- return param[0]
167
- end
168
- if param.empty?
169
- method = obj.method(name)
170
- param_names = (1..method.arity.abs).collect { |i| "p#{i}" }
171
- else
172
- param_names = param
173
- end
174
- create_rpc_param_def(param_names)
175
- end
176
-
177
- def SOAPMethod.create_rpc_param_def(param_names)
178
- param_def = []
179
- param_names.each do |param_name|
180
- param_def.push([IN, param_name, nil])
181
- end
182
- param_def.push([RETVAL, 'return', nil])
183
- param_def
184
- end
185
-
186
- def SOAPMethod.create_doc_param_def(req_qnames, res_qnames)
187
- req_qnames = [req_qnames] if req_qnames.is_a?(XSD::QName)
188
- res_qnames = [res_qnames] if res_qnames.is_a?(XSD::QName)
189
- param_def = []
190
- # req_qnames and res_qnames can be nil
191
- if req_qnames
192
- req_qnames.each do |qname|
193
- param_def << [IN, qname.name, [nil, qname.namespace, qname.name]]
194
- end
195
- end
196
- if res_qnames
197
- res_qnames.each do |qname|
198
- param_def << [OUT, qname.name, [nil, qname.namespace, qname.name]]
199
- end
200
- end
201
- param_def
202
- end
203
-
204
- private
205
-
206
- def collect_param_types(*type)
207
- names = []
208
- @signature.each do |io_type, name, type_qname|
209
- names << type_qname if type.include?(io_type)
210
- end
211
- names
212
- end
213
-
214
- def collect_params(*type)
215
- names = []
216
- @signature.each do |io_type, name, type_qname|
217
- names << name if type.include?(io_type)
218
- end
219
- names
220
- end
221
-
222
- def init_params(param_def)
223
- param_def.each do |param|
224
- param = MethodDef.to_param(param)
225
- init_param(param)
226
- end
227
- end
228
-
229
- def init_param(param)
230
- mapped_class = SOAPMethod.parse_mapped_class(param.mapped_class)
231
- qname = param.qname
232
- if qname.nil? and mapped_class
233
- <<<<<<< HEAD
234
- qname = TypeMap.index(mapped_class)
235
- =======
236
- qname = TypeMap.key(mapped_class)
237
- >>>>>>> 0a6c76d203f00369a454de755d1da8830a76210f
238
- end
239
- case param.io_type
240
- when IN
241
- @signature.push([IN, param.name, qname])
242
- @inparam_names.push(param.name)
243
- when OUT
244
- @signature.push([OUT, param.name, qname])
245
- @outparam_names.push(param.name)
246
- when INOUT
247
- @signature.push([INOUT, param.name, qname])
248
- @inoutparam_names.push(param.name)
249
- when RETVAL
250
- if @retval_name
251
- raise MethodDefinitionError.new('duplicated retval')
252
- end
253
- @retval_name = param.name
254
- @retval_class_name = mapped_class
255
- else
256
- raise MethodDefinitionError.new("unknown type: #{param.io_type}")
257
- end
258
- end
259
-
260
- def self.parse_mapped_class(mapped_class)
261
- # the first element of typedef in param_def can be a String like
262
- # "::SOAP::SOAPStruct" or "CustomClass[]". turn this String to a class if
263
- # we can.
264
- if mapped_class.is_a?(String)
265
- if /\[\]\Z/ =~ mapped_class
266
- # when '[]' is added, ignore this.
267
- mapped_class = nil
268
- else
269
- mapped_class = Mapping.class_from_name(mapped_class)
270
- end
271
- end
272
- mapped_class
273
- end
274
- end
275
-
276
-
277
- class SOAPMethodRequest < SOAPMethod
278
- attr_accessor :soapaction
279
-
280
- def SOAPMethodRequest.create_request(qname, *params)
281
- param_def = []
282
- param_value = []
283
- i = 0
284
- params.each do |param|
285
- param_name = "p#{i}"
286
- i += 1
287
- param_def << [IN, param_name, nil]
288
- param_value << [param_name, param]
289
- end
290
- param_def << [RETVAL, 'return', nil]
291
- o = new(qname, param_def)
292
- o.set_param(param_value)
293
- o
294
- end
295
-
296
- def initialize(qname, param_def = nil, soapaction = nil)
297
- super(qname, param_def)
298
- @soapaction = soapaction
299
- end
300
-
301
- def each
302
- input_params.each do |name|
303
- unless @inparam[name]
304
- raise ParameterError.new("parameter: #{name} was not given")
305
- end
306
- yield(name, @inparam[name])
307
- end
308
- end
309
-
310
- def dup
311
- req = self.class.new(@elename.dup, @param_def, @soapaction)
312
- req.encodingstyle = @encodingstyle
313
- req
314
- end
315
-
316
- def create_method_response(response_name = nil)
317
- response_name ||=
318
- XSD::QName.new(@elename.namespace, @elename.name + 'Response')
319
- SOAPMethodResponse.new(response_name, @param_def)
320
- end
321
- end
322
-
323
-
324
- class SOAPMethodResponse < SOAPMethod
325
-
326
- def initialize(qname, param_def = nil)
327
- super(qname, param_def)
328
- @retval = nil
329
- end
330
-
331
- def retval
332
- @retval
333
- end
334
-
335
- def retval=(retval)
336
- @retval = retval
337
- @retval.elename = @retval.elename.dup_name(@retval_name || 'return')
338
- retval.parent = self
339
- retval
340
- end
341
-
342
- def each
343
- if @retval_name and !@retval.is_a?(SOAPVoid)
344
- yield(@retval_name, @retval)
345
- end
346
-
347
- output_params.each do |name|
348
- unless @outparam[name]
349
- raise ParameterError.new("parameter: #{name} was not given")
350
- end
351
- yield(name, @outparam[name])
352
- end
353
- end
354
- end
355
-
356
-
357
- # To return(?) void explicitly.
358
- # def foo(input_var)
359
- # ...
360
- # return SOAP::RPC::SOAPVoid.new
361
- # end
362
- class SOAPVoid < XSD::XSDAnySimpleType
363
- include SOAPBasetype
364
- extend SOAPModuleUtils
365
- Name = XSD::QName.new(Mapping::RubyCustomTypeNamespace, nil)
366
-
367
- public
368
- def initialize()
369
- @elename = Name
370
- @id = nil
371
- @precedents = []
372
- @parent = nil
373
- end
374
- end
375
-
376
-
377
- end
378
- end
@@ -1,13 +0,0 @@
1
- # SOAP4R - Extensions for Ruby 1.8.X compatibility
2
- # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
- # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
4
- # redistribute it and/or modify it under the same terms of Ruby's license;
5
- # either the dual license version in 2003, or any later version.
6
-
7
- unless RUBY_VERSION >= "1.9.0"
8
- class Hash
9
- def key(value)
10
- index(value)
11
- end
12
- end
13
- end
@@ -1,110 +0,0 @@
1
- # XSD4R - XML Instance parser library.
2
- # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
-
4
- # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
- # redistribute it and/or modify it under the same terms of Ruby's license;
6
- # either the dual license version in 2003, or any later version.
7
-
8
-
9
- require 'xsd/xmlparser/parser'
10
- <<<<<<< HEAD
11
- =======
12
- require 'soap/property'
13
- >>>>>>> 0a6c76d203f00369a454de755d1da8830a76210f
14
-
15
-
16
- module XSD
17
-
18
-
19
- module XMLParser
20
- def create_parser(host, opt)
21
- XSD::XMLParser::Parser.create_parser(host, opt)
22
- end
23
- module_function :create_parser
24
-
25
- # $1 is necessary.
26
- <<<<<<< HEAD
27
- NSParseRegexp = Regexp.new('^xmlns:?(.*)$', nil, 'NONE')
28
- =======
29
- NSParseRegexp = Regexp.new("^xmlns:?(.*)$")
30
- >>>>>>> 0a6c76d203f00369a454de755d1da8830a76210f
31
-
32
- def filter_ns(ns, attrs)
33
- ns_updated = false
34
- if attrs.nil? or attrs.empty?
35
- return [ns, attrs]
36
- end
37
- newattrs = {}
38
- attrs.each do |key, value|
39
- if NSParseRegexp =~ key
40
- unless ns_updated
41
- ns = ns.clone_ns
42
- ns_updated = true
43
- end
44
- # tag == '' means 'default namespace'
45
- # value == '' means 'no default namespace'
46
- tag = $1 || ''
47
- ns.assign(value, tag)
48
- else
49
- newattrs[key] = value
50
- end
51
- end
52
- return [ns, newattrs]
53
- end
54
- module_function :filter_ns
55
- end
56
-
57
-
58
- end
59
-
60
-
61
- <<<<<<< HEAD
62
- # Try to load XML processor.
63
- loaded = false
64
- [
65
- 'xsd/xmlparser/libxmlparser',
66
- 'xsd/xmlparser/xmlparser',
67
- 'xsd/xmlparser/xmlscanner',
68
- 'xsd/xmlparser/rexmlparser',
69
- ].each do |lib|
70
- begin
71
- require lib
72
- # XXX: for a workaround of rubygems' require inconsistency
73
- # XXX: MUST BE REMOVED IN THE FUTURE
74
- name = lib.sub(/^.*\//, '')
75
- raise LoadError unless XSD::XMLParser.constants.find { |c|
76
- c.downcase == name
77
- =======
78
- PARSER_LIBS = [
79
- 'libxmlparser',
80
- 'xmlparser',
81
- 'xmlscanner',
82
- 'rexmlparser'
83
- ]
84
- # Get library prefs
85
- opt = ::SOAP::Property.loadproperty('soap/property')
86
- use_libxml = (opt and opt['parser'] and opt['parser']['use_libxml'] and opt['parser']['use_libxml'] == 'false') ? false : true
87
- # Try to load XML processor.
88
- loaded = false
89
- PARSER_LIBS.each do |name|
90
- begin
91
- lib = "xsd/xmlparser/#{name}"
92
- require lib unless !use_libxml && name == 'libxmlparser'
93
- # XXX: for a workaround of rubygems' require inconsistency
94
- # XXX: MUST BE REMOVED IN THE FUTURE
95
- raise LoadError unless XSD::XMLParser.constants.find { |c|
96
- c.to_s.downcase == name.downcase
97
- >>>>>>> 0a6c76d203f00369a454de755d1da8830a76210f
98
- }
99
- loaded = true
100
- break
101
- rescue LoadError
102
- end
103
- end
104
- unless loaded
105
- raise RuntimeError.new("XML processor module not found.")
106
- end
107
- <<<<<<< HEAD
108
- =======
109
-
110
- >>>>>>> 0a6c76d203f00369a454de755d1da8830a76210f