class WSDL::XMLSchema::Group

Attributes

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

Public Class Methods

new(name = nil) click to toggle source
Calls superclass method WSDL::Info::new
# File lib/wsdl/xmlSchema/group.rb, line 29
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 43
def elementformdefault
  parent.elementformdefault
end
parse_attr(attr, value) click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 60
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 47
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
targetnamespace() click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 39
def targetnamespace
  parent.targetnamespace
end

Private Instance Methods

refelement() click to toggle source
# File lib/wsdl/xmlSchema/group.rb, line 94
def refelement
  @refelement ||= (@ref ? root.collect_modelgroups[@ref] : nil)
end