# File lib/openid/service.rb, line 37
    def OpenIDServiceEndpoint.from_endpoint(service, versions=nil)
      return nil unless OpenIDServiceEndpoint.is_type?(service, versions)

      s = new
      s.service_types = service.service_types
      s.uri = service.uri
      s.yadis_url = service.yadis.uri if service.yadis
      s.xrds_uri = service.yadis.xrds_uri if service.yadis
      s.canonical_id = service.canonical_id

      s.delegate_url = nil
      REXML::XPath.each(service.element, 'openidns:Delegate',
                        @@namespace) do |e|
        s.delegate_url = e.text.strip
      end

      return s
    end