| Class | WSDL::XMLSchema::Attribute |
| In: |
lib/wsdl/xmlSchema/attribute.rb
|
| Parent: | Info |
| arytype | [RW] | |
| default | [W] | |
| fixed | [W] | |
| form | [W] | |
| local_simpletype | [W] | |
| name | [W] | |
| ref | [RW] | |
| type | [W] | |
| use | [W] |
# 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
# 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
# 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
# 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
# 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
# File lib/wsdl/xmlSchema/attribute.rb, line 72
72: def refelement
73: @refelement ||= root.collect_attributes[@ref]
74: end
# File lib/wsdl/xmlSchema/attribute.rb, line 76
76: def targetnamespace
77: parent.targetnamespace
78: end