class SDL::Exporters::XMLServiceExporter

Public Instance Methods

build_service(service, xml) click to toggle source
# File lib/sdl/exporters/xml_service_exporter.rb, line 10
def build_service(service, xml)
  xml.service('xmlns' => 'http://www.open-service-compendium.org', 'uri' => service.uri) do
    serialize_type_instance service, xml
  end
end
export_service(service) click to toggle source
# File lib/sdl/exporters/xml_service_exporter.rb, line 2
def export_service(service)
  builder = Nokogiri::XML::Builder.new do |xml|
    build_service(service, xml)
  end

  builder.to_xml
end
serialize_type_instance(type_instance, xml) click to toggle source
# File lib/sdl/exporters/xml_service_exporter.rb, line 16
def serialize_type_instance(type_instance, xml)
  type_instance.property_values.each do |property, value|
    [value].flatten.each do |v|
      xml.send(property.xsd_element_name + '_', v.xml_attributes) do
        if v.class < SDL::Base::Type
          serialize_type_instance(v, xml)
        else
          xml.text v.xml_value
        end
      end
    end
  end
end