_from_openid_args (OpenID::Message)

    # File lib/openid/message.rb, line 132
        def _from_openid_args(openid_args)
          ns_args = []

          # resolve namespaces
          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
          }

          # ensure that there is an OpenID namespace definition
          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)

          # put the pairs into the appropriate namespaces
          ns_args.each { |ns_alias, ns_key, value|
            ns_uri = @namespaces.get_namespace_uri(ns_alias)
            unless ns_uri
              # only try to map an alias to a default if it's an
              # OpenID 1.x namespace
              @@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