diff options
author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-14 15:14:02 +0000 |
---|---|---|
committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-14 15:14:02 +0000 |
commit | 9cba39a1a1b09f94a5d890e0ad6f4c74bb9f36bf (patch) | |
tree | 559f6780e94880fc3e7c37678fbe8b49ff0556d7 /lib/soap/encodingstyle/literalHandler.rb | |
parent | 0b841783b508c9bddb1c0117b1970fc7c350843b (diff) | |
download | ruby-9cba39a1a1b09f94a5d890e0ad6f4c74bb9f36bf.tar.gz |
* lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of
SOAPBasetype and SOAPCompoundtype.
* lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:
Encoding methods signature change. Pass SOAPGenerator as a parameter.
* lib/soap/mapping/*, test/soap/marshal/test_marshal.rb: Refactoring for better
marshalling/unmarshalling support. Now I think SOAP marshaller supports all
kind of object graph which is supported by Ruby's original marshaller. Of
course there could be bugs as always. Find it. :-)
* lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO. DEBUG is
too noisy.
* lib/xsd/datatypes.rb: DateTime#of is obsoleted. Use DateTime#offset.
* test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid useless
warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap/encodingstyle/literalHandler.rb')
-rw-r--r-- | lib/soap/encodingstyle/literalHandler.rb | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/lib/soap/encodingstyle/literalHandler.rb b/lib/soap/encodingstyle/literalHandler.rb index b5d0d464d7..5ff0e5dd66 100644 --- a/lib/soap/encodingstyle/literalHandler.rb +++ b/lib/soap/encodingstyle/literalHandler.rb @@ -37,7 +37,7 @@ class LiteralHandler < Handler ### ## encode interface. # - def encode_data(buf, ns, qualified, data, parent, indent = '') + def encode_data(generator, ns, qualified, data, parent) attrs = {} name = if qualified and data.elename.namespace SOAPGenerator.assign_ns(attrs, ns, data.elename.namespace) @@ -48,31 +48,29 @@ class LiteralHandler < Handler case data when SOAPRawString - SOAPGenerator.encode_tag(buf, name, attrs, indent) - buf << data.to_s + generator.encode_tag(name, attrs) + generator.encode_rawstring(data.to_s) when XSD::XSDString - SOAPGenerator.encode_tag(buf, name, attrs, indent) - buf << SOAPGenerator.encode_str(@charset ? - XSD::Charset.encoding_to_xml(data.to_s, @charset) : data.to_s) + generator.encode_tag(name, attrs) + generator.encode_string(@charset ? XSD::Charset.encoding_to_xml(data.to_s, @charset) : data.to_s) when XSD::XSDAnySimpleType - SOAPGenerator.encode_tag(buf, name, attrs, indent) - buf << SOAPGenerator.encode_str(data.to_s) + generator.encode_tag(name, attrs) + generator.encode_string(data.to_s) when SOAPStruct - SOAPGenerator.encode_tag(buf, name, attrs, indent) + generator.encode_tag(name, attrs) data.each do |key, value| value.elename.namespace = data.elename.namespace if !value.elename.namespace yield(value, true) end when SOAPArray - SOAPGenerator.encode_tag(buf, name, attrs, indent) + generator.encode_tag(name, attrs) data.traverse do |child, *rank| data.position = nil yield(child, true) end when SOAPElement - SOAPGenerator.encode_tag(buf, name, attrs.update(data.extraattr), - indent) - buf << data.text if data.text + generator.encode_tag(name, attrs.update(data.extraattr)) + generator.encode_rawstring(data.text) if data.text data.each do |key, value| value.elename.namespace = data.elename.namespace if !value.elename.namespace #yield(value, data.qualified) @@ -83,13 +81,13 @@ class LiteralHandler < Handler end end - def encode_data_end(buf, ns, qualified, data, parent, indent) + def encode_data_end(generator, ns, qualified, data, parent) name = if qualified and data.elename.namespace ns.name(data.elename) else data.elename.name end - SOAPGenerator.encode_tag_end(buf, name, indent) + generator.encode_tag_end(name) end |