Class | WSDL::XMLSchema::ComplexContent |
In: |
wsdl/xmlSchema/complexContent.rb
|
Parent: | Info |
attributes | [R] | |
base | [RW] | |
content | [R] | |
derivetype | [R] |
# File wsdl/xmlSchema/complexContent.rb, line 23 def initialize super @base = nil @derivetype = nil @content = nil @attributes = XSD::NamedElements.new @basetype = nil end
# File wsdl/xmlSchema/complexContent.rb, line 36 def basetype @basetype ||= root.collect_complextypes[@base] end
# File wsdl/xmlSchema/complexContent.rb, line 73 def parse_attr(attr, value) if @derivetype.nil? return nil end case attr when BaseAttrName @base = value else nil end end
# File wsdl/xmlSchema/complexContent.rb, line 40 def parse_element(element) case element when RestrictionName, ExtensionName @derivetype = element.name self when AllName if @derivetype.nil? raise Parser::ElementConstraintError.new("base attr not found.") end @content = All.new @content when SequenceName if @derivetype.nil? raise Parser::ElementConstraintError.new("base attr not found.") end @content = Sequence.new @content when ChoiceName if @derivetype.nil? raise Parser::ElementConstraintError.new("base attr not found.") end @content = Choice.new @content when AttributeName if @derivetype.nil? raise Parser::ElementConstraintError.new("base attr not found.") end o = Attribute.new @attributes << o o end end