def startElement(name, data)
text
if !name.index(NSSEP)
qname = name
uri = nil
else
uri, localname, prefix = name.split(NSSEP)
if prefix.nil?
qname = localname
else
qname = prefix + ':' + localname
end
end
elem = @document.createElementNS(uri, qname)
@nsdecl.each do |nsdecl|
elem.setAttributeNode(nsdecl)
end
@nsdecl = []
attr = {}
specified = getSpecifiedAttributes
data.each do |key, value|
if !key.index(NSSEP)
qname = key
uri = nil
else
uri, localname, prefix = key.split(NSSEP)
if prefix.nil?
qname = localname
else
qname = prefix + ':' + localname
end
end
attr = @document.createAttributeNS(uri, qname)
attr.appendChild(@document.createTextNode(value))
attr.specified = specified.include?(key)
elem.setAttributeNode(attr)
end
@current.appendChild(elem)
@current = elem
end