def _from_openid_args(openid_args)
ns_args = []
openid_args.each { |rest, value|
ns_alias, ns_key = rest.split('.', 2)
if ns_key.nil?
ns_alias = NULL_NAMESPACE
ns_key = rest
end
if ns_alias == 'ns'
@namespaces.add_alias(value, ns_key)
elsif ns_alias == NULL_NAMESPACE and ns_key == 'ns'
@namespaces.add_alias(value, NULL_NAMESPACE)
else
ns_args << [ns_alias, ns_key, value]
end
}
openid_ns_uri = @namespaces.get_namespace_uri(NULL_NAMESPACE)
openid_ns_uri = OPENID1_NS unless openid_ns_uri
self.set_openid_namespace(openid_ns_uri)
ns_args.each { |ns_alias, ns_key, value|
ns_uri = @namespaces.get_namespace_uri(ns_alias)
unless ns_uri
@@registered_aliases.each { |_alias, _uri|
if _alias == ns_alias
ns_uri = _uri
break
end
}
unless ns_uri
ns_uri = openid_ns_uri
ns_key = "#{ns_alias}.#{ns_key}"
else
@namespaces.add_alias(ns_uri, ns_alias)
end
end
self.set_arg(ns_uri, ns_key, value)
}
end