Method: XSD::NS#parse_local

Defined in:
lib/xsd/ns.rb

#parse_local(elem) ⇒ Object

For local attribute key parsing

<foo xmlns="urn:a" xmlns:n1="urn:a" bar="1" n1:baz="2" />
  =>
{}bar, {urn:a}baz


141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/xsd/ns.rb', line 141

def parse_local(elem)
  ParseRegexp =~ elem
  if $2
    ns = @tag2ns[$1]
    name = $2
    if !ns
  raise FormatError.new("unknown namespace qualifier: #{$1}")
    end
  elsif $1
    ns = nil
    name = $1
  else
    raise FormatError.new("illegal element format: #{elem}")
  end
  XSD::QName.new(ns, name)
end