Class: WSDL::XMLSchema::ComplexContent

Class | WSDL::XMLSchema::ComplexContent
In: | wsdl/xmlSchema/complexContent.rb
Parent: | Info

### Methods

basetype new parse_attr parse_element targetnamespace

### Attributes

attributes | [R] |
base | [RW] |
content | [R] |
derivetype | [R] |

### Public Class methods

new()

[Source]

    # File wsdl/xmlSchema/complexContent.rb, line 23
      def initialize
        super
        @base = nil
        @derivetype = nil
        @content = nil
        @attributes = XSD::NamedElements.new
        @basetype = nil
      end

### Public Instance methods

basetype()

[Source]

    # File wsdl/xmlSchema/complexContent.rb, line 36
      def basetype
        @basetype ||= root.collect_complextypes[@base]
      end

parse_attr(attr, value)

[Source]

    # 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

parse_element(element)

[Source]

    # 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

targetnamespace()

[Source]

    # File wsdl/xmlSchema/complexContent.rb, line 32
      def targetnamespace
        parent.targetnamespace
      end

[Validate]