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