|
Net::YadisThis package performs the Yadis service discovery protocol, and parses XRDS xml documents.MethodsdiscoverThis constructor performs the discovery protocol on a url and returns a yadis object that parses the XRDS document for you. eval { $yadis=Net::Yadis->discover($url); } warn "Yadis failed: $@" if $@; Will die on errors: HTTP errors, missing Yadis magic, malformed XRDS new You may also skip discovery and go straight to xrds parsing with the "new" constructor. $yadis = Net::Yadis->new($yadis_url, $xrds_url, $xml);
We don't trap death from XML::XPath; malformed xml causes this Accessor methods
filter_services Pass in a filter function reference to this guy. The filter function must take a Net::Yadis::Service object, and return a scalar of some sort or undef. The scalars returned from the filter will be returned in an array from this method. Example my $filter = sub { my $service = shift; if ($service->is_type($typere)) { # here we simply return the service object, but you may return # something else if you wish to extract the data and discard # the xpath object contained in the service object. return $service; } else { return undef; } }; my $typeservices = $yadis->filter_services($filter); services_of_type A predefined filtering method that takes a regexp for filtering service types. service_of_type Hey, a perl generator! sequential calls will return the services one at a time, in ascending priority order with ties randomly decided. make sure that the type argument is identical for each call, or the list will start again from the top. You'll have to store the yadis object in a session for this guy to be useful. Net::Yadis::ServiceAn object representing a service tag in an XRDS document.Methodsis_typeTakes a regexp or a string and returns a boolean value: do any of the "<Type>" tags in the "<Service>" tag match this type? types Returns a list of the contents of the "<Type>" tags of this service element. uris Returns a list of the contents of the "<URI>" tags of this service element, in priority order, ties randomly decided. uri another perl 'generator'. sequential calls will return the uris one at a time, in ascending priority order with ties randomly decided getAttribute Get an attribute of the service tag by name. $priority = $service->getAttribute('priority'); findTag Get the contents of a child tag of the service tag. $service->findTag($tag_name, $namespace); For example: $delegate = $service->findTag('Delegate', $OPENID_NS); xrds Returns the xrds document as an XML::XPath for custom XPath queries. node Returns the XPath node of the "<Service>" tag, for custom XPath queries.
Visit the GSP FreeBSD Man Page Interface. |