Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1865

Show
Ignore:
Timestamp:
06/29/07 20:12:01 (11 months ago)
Author:
nahi
Message:
  • wsdl2ruby.rb did not generate a classdef entry for empty element definition such as <element name="foo"/>. let wsdl2ruby.rb generate 'class Foo < String'. closes #370.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/wsdl/soap/classDefCreator.rb

    r1824 r1865  
    8585      elsif ele.local_simpletype 
    8686        dump_simpletypedef(ele.name, ele.local_simpletype, qualified) 
     87      elsif ele.empty? 
     88        dump_simpleclassdef(ele.name, nil) 
    8789      else 
    8890        nil 
     
    199201    c.comment = "#{qname}" 
    200202    init_lines = [] 
    201     unless type_or_element.attributes.empty? 
     203    if type_or_element and !type_or_element.attributes.empty? 
    202204      define_attribute(c, type_or_element.attributes) 
    203205      init_lines << "@__xmlattr = {}" 
     
    364366 
    365367  def check_classname(classname) 
    366     if @modulepath.nil? and Module.constants.include?(classname) 
     368    if @modulepath.nil? and Object.constants.include?(classname) 
    367369      warn("created definition re-opens an existing toplevel class: #{classname}") 
    368370    end 
  • trunk/lib/wsdl/soap/literalMappingRegistryCreator.rb

    r1852 r1865  
    165165        type = klass.name 
    166166      else 
    167         type = create_class_name(child_element.name, @modulepath) 
     167        typename = child_element.type || child_element.name 
     168        type = create_class_name(typename, @modulepath) 
    168169      end 
    169170    elsif child_type 
  • trunk/lib/wsdl/xmlSchema/element.rb

    r1824 r1865  
    6868    @ref = nil 
    6969    @refelement = nil 
     70  end 
     71 
     72  def empty? 
     73    !(local_simpletype || local_complextype || constraint || type) 
    7074  end 
    7175 
  • trunk/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb

    r1857 r1865  
    3636    :schema_type => "sectionArray", 
    3737    :schema_element => [ 
    38       ["element", ["XSD::XSD2Ruby::Element[]", XSD::QName.new(nil, "element")], [1, nil]] 
     38      ["element", ["XSD::XSD2Ruby::Section[]", XSD::QName.new(nil, "element")], [1, nil]] 
    3939    ] 
    4040  )