class XSD::Mapping::Mapper
Constants
- MAPPING_OPT
Public Class Methods
new(registry)
click to toggle source
# File lib/xsd/mapping.rb, line 36 def initialize(registry) @registry = registry end
Public Instance Methods
obj2xml(obj, elename = nil, io = nil)
click to toggle source
# File lib/xsd/mapping.rb, line 40 def obj2xml(obj, elename = nil, io = nil) opt = MAPPING_OPT.dup unless elename if definition = @registry.elename_schema_definition_from_class(obj.class) elename = definition.elename opt[:root_type_hint] = false end end elename = SOAP::Mapping.to_qname(elename) if elename soap = SOAP::Mapping.obj2soap(obj, @registry, elename, opt) if soap.elename.nil? or soap.elename == XSD::QName::EMPTY soap.elename = XSD::QName.new(nil, SOAP::Mapping.name2elename(obj.class.to_s)) end generator = SOAP::Generator.new(opt) generator.generate(soap, io) end
xml2obj(stream, klass = nil)
click to toggle source
# File lib/xsd/mapping.rb, line 58 def xml2obj(stream, klass = nil) parser = SOAP::Parser.new(MAPPING_OPT) soap = parser.parse(stream) SOAP::Mapping.soap2obj(soap, @registry, klass) end