/**
  * undocumented function
  *
  * @param string $url
  * @return array
  * @link http://www.oexchange.org/spec/#discovery-page
  */
 public static function page($url)
 {
     $htmlDocument = new DOMDocument();
     $loaded = @$htmlDocument->loadHTML(self::_retrieve($url));
     if (!$loaded) {
         throw new OExchange_Exception("Failed to load {$url}");
     }
     $xpath = new DOMXpath($htmlDocument);
     $expression = "/html/head/link[@rel='" . self::OEXCHANGE_RELATED_TARGET_REL . "']";
     $links = $xpath->query($expression);
     $targets = array();
     foreach ($links as $link) {
         $serviceXRD = XRD_Document::fromString(self::_retrieve($link->getAttribute('href')));
         $targets[] = OExchange_Target::fromXRD($serviceXRD);
     }
     return $targets;
 }