class WSDL::XMLSchema::Group

Attributes

content[W]
maxoccurs[RW]
minoccurs[RW]
name[W]
ref[RW]

Public Class Methods

attr_reader_ref(symbol) click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 19
def attr_reader_ref(symbol)
  name = symbol.to_s
  define_method(name) {
    instance_variable_get("@#{name}") ||
      (refelement ? refelement.__send__(name) : nil)
  }
end
new(name = nil) click to toggle source
Calls superclass method WSDL::Info.new
# File lib/wsdl/xmlSchema/group.rb, line 48
def initialize(name = nil)
  super()
  @name = name
  @maxoccurs = 1
  @minoccurs = 1
  @content = nil
  @ref = nil
  @refelement = nil
end

Public Instance Methods

elementformdefault() click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 66
def elementformdefault
  parent.elementformdefault
end
parse_attr(attr, value) click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 83
def parse_attr(attr, value)
  case attr
  when NameAttrName
    @name = XSD::QName.new(targetnamespace, value.source)
  when RefAttrName
    @ref = value
  when MaxOccursAttrName
    if parent.is_a?(All)
      if value.source != '1'
        raise Parser::AttributeConstraintError.new(
          "cannot parse #{value} for #{attr}")
      end
    end
    if value.source == 'unbounded'
      @maxoccurs = nil
    else
      @maxoccurs = Integer(value.source)
    end
    value.source
  when MinOccursAttrName
    if parent.is_a?(All)
      unless ['0', '1'].include?(value.source)
        raise Parser::AttributeConstraintError.new(
          "cannot parse #{value} for #{attr}")
      end
    end
    @minoccurs = Integer(value.source)
  else
    nil
  end
end
parse_element(element) click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 70
def parse_element(element)
  case element
  when AllName
    @content = All.new
  when SequenceName
    @content = Sequence.new
  when ChoiceName
    @content = Choice.new
  else
    nil
  end
end
refelement() click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 58
def refelement
  @refelement ||= (@ref ? root.collect_modelgroups[@ref] : nil)
end
targetnamespace() click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 62
def targetnamespace
  parent.targetnamespace
end