Class WSDL::XMLSchema::Attribute
In: lib/wsdl/xmlSchema/attribute.rb
Parent: Info

Methods

Attributes

arytype  [RW] 
default  [W] 
fixed  [W] 
form  [W] 
local_simpletype  [W] 
name  [W] 
ref  [RW] 
type  [W] 
use  [W] 

Public Class methods

[Source]

    # File lib/wsdl/xmlSchema/attribute.rb, line 19
19:       def attr_reader_ref(symbol)
20:         name = symbol.to_s
21:         define_method(name) {
22:           instance_variable_get("@#{name}") ||
23:             (refelement ? refelement.__send__(name) : nil)
24:         }
25:       end

[Source]

    # File lib/wsdl/xmlSchema/attribute.rb, line 27
27:       def attr_reader_ref(symbol)
28:         name = symbol.to_s
29:         module_eval "def \#{name}\n@\#{name} || (refelement ? refelement.\#{name} : nil)\nend\n"
30:       end

[Source]

    # File lib/wsdl/xmlSchema/attribute.rb, line 58
58:   def initialize
59:     super
60:     @use = nil
61:     @form = nil
62:     @name = nil
63:     @type = nil
64:     @local_simpletype = nil
65:     @default = nil
66:     @fixed = nil
67:     @ref = nil
68:     @refelement = nil
69:     @arytype = nil
70:   end

Public Instance methods

[Source]

     # File lib/wsdl/xmlSchema/attribute.rb, line 88
 88:   def parse_attr(attr, value)
 89:     case attr
 90:     when RefAttrName
 91:       @ref = value
 92:     when UseAttrName
 93:       @use = value.source
 94:     when FormAttrName
 95:       @form = value.source
 96:     when NameAttrName
 97:       if directelement?
 98:         @name = XSD::QName.new(targetnamespace, value.source)
 99:       else
100:         @name = XSD::QName.new(nil, value.source)
101:       end
102:     when TypeAttrName
103:       @type = value
104:     when DefaultAttrName
105:       @default = value.source
106:     when FixedAttrName
107:       @fixed = value.source
108:     when ArrayTypeAttrName
109:       @arytype = if value.namespace.nil?
110:           XSD::QName.new(XSD::Namespace, value.source)
111:         else
112:           value
113:         end
114:     else
115:       nil
116:     end
117:   end

[Source]

    # File lib/wsdl/xmlSchema/attribute.rb, line 80
80:   def parse_element(element)
81:     case element
82:     when SimpleTypeName
83:       @local_simpletype = SimpleType.new
84:       @local_simpletype
85:     end
86:   end

[Source]

    # File lib/wsdl/xmlSchema/attribute.rb, line 72
72:   def refelement
73:     @refelement ||= root.collect_attributes[@ref]
74:   end

[Source]

    # File lib/wsdl/xmlSchema/attribute.rb, line 76
76:   def targetnamespace
77:     parent.targetnamespace
78:   end

Private Instance methods

[Source]

     # File lib/wsdl/xmlSchema/attribute.rb, line 121
121:   def directelement?
122:     parent.is_a?(Schema)
123:   end

[Validate]