# 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