class WSDL::XMLSchema::ComplexExtension
Attributes
base[RW]
content[R]
Public Class Methods
new()
click to toggle source
Calls superclass method
WSDL::Info::new
# File lib/wsdl/xmlSchema/complexExtension.rb, line 22 def initialize super @base = nil @basetype = nil @content = nil @attributes = XSD::NamedElements.new end
Public Instance Methods
attributes()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 60 def attributes basetype.attributes + @attributes end
check_type()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 64 def check_type if @base == ::SOAP::ValueArrayName :TYPE_ARRAY elsif content or !@attributes.empty? :TYPE_STRUCT else basetype.check_type end end
choice?()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 42 def choice? content and content.choice? end
elementformdefault()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 34 def elementformdefault parent.elementformdefault end
elements()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 46 def elements result = XSD::NamedElements.new result.concat(basetype.elements) result.concat(content.elements) if content result end
have_any?()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 38 def have_any? basetype.have_any? or (content && content.have_any?) end
nested_elements()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 53 def nested_elements result = XSD::NamedElements.new result.concat(basetype.nested_elements) result.concat(content.nested_elements) if content result end
parse_attr(attr, value)
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 100 def parse_attr(attr, value) case attr when BaseAttrName @base = value end end
parse_element(element)
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 74 def parse_element(element) case element when AllName @content = All.new @content when SequenceName @content = Sequence.new @content when ChoiceName @content = Choice.new @content when AttributeName o = Attribute.new @attributes << o o when AttributeGroupName o = AttributeGroup.new @attributes << o o when AnyAttributeName o = AnyAttribute.new @attributes << o o end end
targetnamespace()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 30 def targetnamespace parent.targetnamespace end
Private Instance Methods
basetype()
click to toggle source
# File lib/wsdl/xmlSchema/complexExtension.rb, line 109 def basetype @basetype ||= root.collect_complextypes[@base] unless @basetype raise RuntimeError.new("base type definition not found: #{@base}") end @basetype end