original_string: protected function requestXml($origin, $path)
      {
          // http://components.ez.no/p/packages.xml is malformed. to read it we must ignore parsing errors.
          $xml = simplexml_load_string($this->requestContent($origin, $path), "SimpleXMLElement", LIBXML_NOERROR);
  
          if (false == $xml) {
              $url = rtrim($origin, '/') . '/' . ltrim($path, '/');
              throw new \UnexpectedValueException(sprintf('The PEAR channel at ' . $origin . ' is broken. (Invalid XML at file `%s`)', $path));
          }
  
          return $xml;
      }
code: protected function requestXml($origin, $path)
      {
          // http://components.ez.no/p/packages.xml is malformed. to read it we must ignore parsing errors.
          $xml = simplexml_load_string($this->requestContent($origin, $path), "SimpleXMLElement", LIBXML_NOERROR);
  
          if (false == $xml) {
              $url = rtrim($origin, '/') . '/' . ltrim($path, '/');
              throw new \UnexpectedValueException(sprintf('The PEAR channel at ' . $origin . ' is broken. (Invalid XML at file `%s`)', $path));
          }
  
          return $xml;
      }
code_tokens: protected function requestXml ( $ origin , $ path ) { // http://components.ez.no/p/packages.xml is malformed. to read it we must ignore parsing errors. $ xml = simplexml_load_string ( $ this -> requestContent ( $ origin , $ path ) , "SimpleXMLElement" , LIBXML_NOERROR ) ; if ( false == $ xml ) { $ url = rtrim ( $ origin , '/' ) . '/' . ltrim ( $ path , '/' ) ; throw new \ UnexpectedValueException ( sprintf ( 'The PEAR channel at ' . $ origin . ' is broken. (Invalid XML at file `%s`)' , $ path ) ) ; } return $ xml ; }
docstring: Read xml content from remote filesystem
  
  @param $origin string server
  @param $path   string relative path to content
  @throws \UnexpectedValueException
  @return \SimpleXMLElement
docstring_tokens: Read xml content from remote filesystem