class WSDL::XMLSchema::Schema

Attributes

attributeformdefault[RW]
attributegroups[R]
attributes[R]
complextypes[R]
elementformdefault[RW]
elements[R]
importedschema[R]
imports[R]
modelgroups[R]
simpletypes[R]
targetnamespace[R]
version[RW]

Public Class Methods

new() click to toggle source
Calls superclass method WSDL::Info.new
# File lib/wsdl/xmlSchema/schema.rb, line 32
def initialize
  super
  @targetnamespace = nil
  @complextypes = XSD::NamedElements.new
  @simpletypes = XSD::NamedElements.new
  @elements = XSD::NamedElements.new
  @attributes = XSD::NamedElements.new
  @modelgroups = XSD::NamedElements.new
  @attributegroups = XSD::NamedElements.new
  @imports = []
  @attributeformdefault = "unqualified"
  @elementformdefault = "unqualified"
  @importedschema = {}
  @location = nil
  @root = self
  @version = nil
end
parse_element(element) click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 167
def self.parse_element(element)
  if element == SchemaName
    Schema.new
  else
    nil
  end
end

Public Instance Methods

collect_attributegroups() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 131
def collect_attributegroups
  result = XSD::NamedElements.new
  result.concat(@attributegroups)
  @imports.each do |import|
    result.concat(import.content.collect_attributegroups) if import.content
  end
  result
end
collect_attributes() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 113
def collect_attributes
  result = XSD::NamedElements.new
  result.concat(@attributes)
  @imports.each do |import|
    result.concat(import.content.collect_attributes) if import.content
  end
  result
end
collect_complextypes() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 149
def collect_complextypes
  result = XSD::NamedElements.new
  result.concat(@complextypes)
  @imports.each do |import|
    result.concat(import.content.collect_complextypes) if import.content
  end
  result
end
collect_elements() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 140
def collect_elements
  result = XSD::NamedElements.new
  result.concat(@elements)
  @imports.each do |import|
    result.concat(import.content.collect_elements) if import.content
  end
  result
end
collect_modelgroups() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 122
def collect_modelgroups
  result = XSD::NamedElements.new
  result.concat(@modelgroups)
  @imports.each do |import|
    result.concat(import.content.collect_modelgroups) if import.content
  end
  result
end
collect_simpletypes() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 158
def collect_simpletypes
  result = XSD::NamedElements.new
  result.concat(@simpletypes)
  @imports.each do |import|
    result.concat(import.content.collect_simpletypes) if import.content
  end
  result
end
location() click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 50
def location
  @location || (root.nil? ? nil : root.location)
end
location=(location) click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 54
def location=(location)
  @location = location
end
parse_attr(attr, value) click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 98
def parse_attr(attr, value)
  case attr
  when TargetNamespaceAttrName
    @targetnamespace = value.source
  when AttributeFormDefaultAttrName
    @attributeformdefault = value.source
  when ElementFormDefaultAttrName
    @elementformdefault = value.source
  when VersionAttrName
    @version = value.source
  else
    nil
  end
end
parse_element(element) click to toggle source
# File lib/wsdl/xmlSchema/schema.rb, line 58
def parse_element(element)
  case element
  when ImportName
    o = Import.new
    @imports << o
    o
  when IncludeName
    o = Include.new
    @imports << o
    o
  when ComplexTypeName
    o = ComplexType.new
    @complextypes << o
    o
  when SimpleTypeName
    o = SimpleType.new
    @simpletypes << o
    o
  when ElementName
    o = Element.new
    o.form = 'qualified'      # root element is qualified
    @elements << o
    o
  when AttributeName
    o = Attribute.new
    @attributes << o
    o
  when GroupName
    o = Group.new
    @modelgroups << o
    o
  when AttributeGroupName
    o = AttributeGroup.new
    @attributegroups << o
    o
  else
    nil
  end
end