Class: WSDL::XMLSchema::SimpleType

Inherits:
Info show all
Defined in:
lib/wsdl/xmlSchema/simpleType.rb

Instance Attribute Summary collapse

Attributes inherited from Info

#id, #parent, #root

Instance Method Summary collapse

Methods inherited from Info

#inspect, #parse_epilogue

Constructor Details

#initialize(name = nil) ⇒ SimpleType

Returns a new instance of SimpleType.



43
44
45
46
47
48
49
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 43

def initialize(name = nil)
  super()
  @name = name
  @restriction = nil
  @list = nil
  @union = nil
end

Instance Attribute Details

#listObject (readonly)

Returns the value of attribute list.



20
21
22
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 20

def list
  @list
end

#nameObject

Returns the value of attribute name.



18
19
20
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 18

def name
  @name
end

#restrictionObject (readonly)

Returns the value of attribute restriction.



19
20
21
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 19

def restriction
  @restriction
end

#unionObject (readonly)

Returns the value of attribute union.



21
22
23
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 21

def union
  @union
end

Instance Method Details

#baseObject



35
36
37
38
39
40
41
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 35

def base
  if @restriction
    @restriction.base
  else
    nil
  end
end

#check_lexical_format(value) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# 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) ⇒ Object



69
70
71
72
73
74
# 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) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
# 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

#targetnamespaceObject



51
52
53
# File 'lib/wsdl/xmlSchema/simpleType.rb', line 51

def targetnamespace
  parent.targetnamespace
end