class WSDL::XMLSchema::SimpleType

Attributes

list[R]
name[RW]
restriction[R]
union[R]

Public Class Methods

new(name = nil) click to toggle source
Calls superclass method WSDL::Info.new
# File lib/wsdl/xmlSchema/simpleType.rb, line 43
def initialize(name = nil)
  super()
  @name = name
  @restriction = nil
  @list = nil
  @union = nil
end

Public Instance Methods

base() click to toggle source
# File lib/wsdl/xmlSchema/simpleType.rb, line 35
def base
  if @restriction
    @restriction.base
  else
    nil
  end
end
check_lexical_format(value) click to toggle source
# File lib/wsdl/xmlSchema/simpleType.rb, line 23
def check_lexical_format(value)
  if @restriction
    check_restriction(value)
  elsif @list
    # TODO: check
  elsif @union
    # TODO: check
  else
    raise ArgumentError.new("incomplete simpleType")
  end
end
parse_attr(attr, value) click to toggle source
# File lib/wsdl/xmlSchema/simpleType.rb, line 69
def parse_attr(attr, value)
  case attr
  when NameAttrName
    @name = XSD::QName.new(targetnamespace, value.source)
  end
end
parse_element(element) click to toggle source
# File lib/wsdl/xmlSchema/simpleType.rb, line 55
def parse_element(element)
  case element
  when RestrictionName
    @restriction = SimpleRestriction.new
    @restriction
  when ListName
    @list = List.new
    @list
  when UnionName
    @union = Union.new
    @union
  end
end
targetnamespace() click to toggle source
# File lib/wsdl/xmlSchema/simpleType.rb, line 51
def targetnamespace
  parent.targetnamespace
end

Private Instance Methods

check_restriction(value) click to toggle source
# File lib/wsdl/xmlSchema/simpleType.rb, line 78
def check_restriction(value)
  unless @restriction.valid?(value)
    raise XSD::ValueSpaceError.new("#{@name}: cannot accept '#{value}'")
  end
end