Changeset 1836
- Timestamp:
- 06/06/07 15:17:06 (1 year ago)
- Files:
-
- trunk/lib/soap/baseData.rb (modified) (6 diffs)
- trunk/lib/soap/encodingstyle/aspDotNetHandler.rb (modified) (1 diff)
- trunk/lib/soap/encodingstyle/literalHandler.rb (modified) (2 diffs)
- trunk/lib/soap/encodingstyle/soapHandler.rb (modified) (1 diff)
- trunk/lib/soap/rpc/element.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/baseData.rb
r1832 r1836 511 511 def members 512 512 @array 513 end 514 515 def have_member 516 !@array.empty? 513 517 end 514 518 … … 568 572 class SOAPElement 569 573 include Enumerable 570 571 attr_accessor :encodingstyle 572 573 attr_accessor :elename 574 attr_accessor :id 575 attr_reader :precedents 576 attr_accessor :root 577 attr_accessor :parent 578 attr_accessor :position 579 attr_accessor :extraattr 580 581 attr_accessor :qualified 574 include SOAPCompoundtype 575 576 attr_accessor :type 577 # Text interface. 578 attr_accessor :text 579 alias data text 582 580 583 581 def initialize(elename, text = nil) 582 super() 584 583 if !elename.is_a?(XSD::QName) 585 584 elename = XSD::QName.new(nil, elename) … … 587 586 @encodingstyle = LiteralNamespace 588 587 @elename = elename 589 @id = nil 590 @precedents = [] 591 @root = false 592 @parent = nil 593 @position = nil 594 @extraattr = {} 595 596 @qualified = nil 588 @type = nil 597 589 598 590 @array = [] … … 606 598 @data.collect { |ele| "\n#{ele.inspect}" }.join.gsub(/^/, ' ') 607 599 end 608 609 # Text interface.610 attr_accessor :text611 alias data text612 600 613 601 def set(value) … … 643 631 def members 644 632 @array 633 end 634 635 def have_member 636 !@array.empty? 645 637 end 646 638 … … 797 789 end 798 790 791 def have_member 792 !@data.empty? 793 end 794 799 795 def [](*idxary) 800 796 if idxary.size != @rank trunk/lib/soap/encodingstyle/aspDotNetHandler.rb
r1824 r1836 68 68 def encode_data_end(generator, ns, data, parent) 69 69 name = generator.encode_name_end(ns, data) 70 cr = data.is_a?(SOAPCompoundtype)70 cr = (data.is_a?(SOAPCompoundtype) and data.have_member) 71 71 generator.encode_tag_end(name, cr) 72 72 end trunk/lib/soap/encodingstyle/literalHandler.rb
r1824 r1836 101 101 return nil if data.is_a?(SOAPExternalReference) 102 102 name = generator.encode_name_end(ns, data) 103 cr = (data.is_a?(SOAPCompoundtype) or 104 (data.is_a?(SOAPElement) and !data.members.empty?)) 103 cr = (data.is_a?(SOAPCompoundtype) and data.have_member) 105 104 generator.encode_tag_end(name, cr) 106 105 end … … 117 116 else 118 117 o = SOAPElement.decode(elename) 118 end 119 if definedtype = extraattrs[XSD::AttrTypeName] 120 o.type = ns.parse(definedtype) 119 121 end 120 122 o.parent = parent trunk/lib/soap/encodingstyle/soapHandler.rb
r1824 r1836 73 73 def encode_data_end(generator, ns, data, parent) 74 74 name = generator.encode_name_end(ns, data) 75 cr = data.is_a?(SOAPCompoundtype)75 cr = (data.is_a?(SOAPCompoundtype) and data.have_member) 76 76 generator.encode_tag_end(name, cr) 77 77 end trunk/lib/soap/rpc/element.rb
r1825 r1836 99 99 100 100 init_param(@param_def) if @param_def 101 end 102 103 def have_member 104 true 101 105 end 102 106