diff options
Diffstat (limited to 'lib/wsdl/xmlSchema/attribute.rb')
-rw-r--r-- | lib/wsdl/xmlSchema/attribute.rb | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/lib/wsdl/xmlSchema/attribute.rb b/lib/wsdl/xmlSchema/attribute.rb index e5046dd991..6861fc171e 100644 --- a/lib/wsdl/xmlSchema/attribute.rb +++ b/lib/wsdl/xmlSchema/attribute.rb @@ -33,10 +33,13 @@ class Attribute < Info @type = nil @default = nil @fixed = nil - @arytype = nil end + def targetnamespace + parent.targetnamespace + end + def parse_element(element) nil end @@ -46,23 +49,23 @@ class Attribute < Info when RefAttrName @ref = value when UseAttrName - @use = value + @use = value.source when FormAttrName - @form = value + @form = value.source when NameAttrName - @name = value + @name = XSD::QName.new(targetnamespace, value.source) when TypeAttrName @type = value when DefaultAttrName - @default = value + @default = value.source when FixedAttrName - @fixed = value + @fixed = value.source when ArrayTypeAttrName - @arytype = if value.is_a?(XSD::QName) - value - else - XSD::QName.new(XSD::Namespace, value) - end + @arytype = if value.namespace.nil? + XSD::QName.new(XSD::Namespace, value.source) + else + value + end else nil end |