Class WSDL::XMLSchema::Schema
In: wsdl/xmlSchema/schema.rb
Parent: Info

Methods

Attributes

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

Public Class methods

[Source]

# File wsdl/xmlSchema/schema.rb, line 29
  def initialize
    super
    @targetnamespace = nil
    @complextypes = XSD::NamedElements.new
    @simpletypes = XSD::NamedElements.new
    @elements = XSD::NamedElements.new
    @attributes = XSD::NamedElements.new
    @imports = []
    @attributeformdefault = "unqualified"
    @elementformdefault = "unqualified"
    @importedschema = {}
    @location = nil
    @root = self
  end

[Source]

# File wsdl/xmlSchema/schema.rb, line 132
  def self.parse_element(element)
    if element == SchemaName
      Schema.new
    else
      nil
    end
  end

Public Instance methods

[Source]

# File wsdl/xmlSchema/schema.rb, line 96
  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

[Source]

# File wsdl/xmlSchema/schema.rb, line 114
  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

[Source]

# File wsdl/xmlSchema/schema.rb, line 105
  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

[Source]

# File wsdl/xmlSchema/schema.rb, line 123
  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

[Source]

# File wsdl/xmlSchema/schema.rb, line 44
  def location
    @location || (root.nil? ? nil : root.location)
  end

[Source]

# File wsdl/xmlSchema/schema.rb, line 48
  def location=(location)
    @location = location
  end

[Source]

# File wsdl/xmlSchema/schema.rb, line 83
  def parse_attr(attr, value)
    case attr
    when TargetNamespaceAttrName
      @targetnamespace = value.source
    when AttributeFormDefaultAttrName
      @attributeformdefault = value.source
    when ElementFormDefaultAttrName
      @elementformdefault = value.source
    else
      nil
    end
  end

[Source]

# File wsdl/xmlSchema/schema.rb, line 52
  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
      @elements << o
      o
    when AttributeName
      o = Attribute.new
      @attributes << o
      o
    else
      nil
    end
  end

[Validate]