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

Changeset 1836

Show
Ignore:
Timestamp:
06/06/07 15:17:06 (1 year ago)
Author:
nahi
Message:
  • let SOAPElement include a SOAPCompoundtype module and added have_member method for simplified XML pretty print control.
Files:

Legend:

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

    r1832 r1836  
    511511  def members 
    512512    @array 
     513  end 
     514 
     515  def have_member 
     516    !@array.empty? 
    513517  end 
    514518 
     
    568572class SOAPElement 
    569573  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 
    582580 
    583581  def initialize(elename, text = nil) 
     582    super() 
    584583    if !elename.is_a?(XSD::QName) 
    585584      elename = XSD::QName.new(nil, elename) 
     
    587586    @encodingstyle = LiteralNamespace 
    588587    @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 
    597589 
    598590    @array = [] 
     
    606598      @data.collect { |ele| "\n#{ele.inspect}" }.join.gsub(/^/, '  ') 
    607599  end 
    608  
    609   # Text interface. 
    610   attr_accessor :text 
    611   alias data text 
    612600 
    613601  def set(value) 
     
    643631  def members 
    644632    @array 
     633  end 
     634 
     635  def have_member 
     636    !@array.empty? 
    645637  end 
    646638 
     
    797789  end 
    798790 
     791  def have_member 
     792    !@data.empty? 
     793  end 
     794 
    799795  def [](*idxary) 
    800796    if idxary.size != @rank 
  • trunk/lib/soap/encodingstyle/aspDotNetHandler.rb

    r1824 r1836  
    6868  def encode_data_end(generator, ns, data, parent) 
    6969    name = generator.encode_name_end(ns, data) 
    70     cr = data.is_a?(SOAPCompoundtype
     70    cr = (data.is_a?(SOAPCompoundtype) and data.have_member
    7171    generator.encode_tag_end(name, cr) 
    7272  end 
  • trunk/lib/soap/encodingstyle/literalHandler.rb

    r1824 r1836  
    101101    return nil if data.is_a?(SOAPExternalReference) 
    102102    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) 
    105104    generator.encode_tag_end(name, cr) 
    106105  end 
     
    117116    else 
    118117      o = SOAPElement.decode(elename) 
     118    end 
     119    if definedtype = extraattrs[XSD::AttrTypeName] 
     120      o.type = ns.parse(definedtype) 
    119121    end 
    120122    o.parent = parent 
  • trunk/lib/soap/encodingstyle/soapHandler.rb

    r1824 r1836  
    7373  def encode_data_end(generator, ns, data, parent) 
    7474    name = generator.encode_name_end(ns, data) 
    75     cr = data.is_a?(SOAPCompoundtype
     75    cr = (data.is_a?(SOAPCompoundtype) and data.have_member
    7676    generator.encode_tag_end(name, cr) 
    7777  end 
  • trunk/lib/soap/rpc/element.rb

    r1825 r1836  
    9999 
    100100    init_param(@param_def) if @param_def 
     101  end 
     102 
     103  def have_member 
     104    true 
    101105  end 
    102106