static function get_feed_to_rif_transformer() { if (is_null(self::$feed_to_rif_transformer)) { $getRifFromFeed = new DomDocument(); $getRifFromFeed->load('applications/registry/data_source/transforms/extract_rif_from_feed.xsl'); $getRifFromFeedproc = new XSLTProcessor(); $getRifFromFeedproc->importStyleSheet($getRifFromFeed); self::$feed_to_rif_transformer = $getRifFromFeedproc; } return self::$feed_to_rif_transformer; }
function getRifcsFromHarvest($xmlData) { // Simplexml doesn't play nicely with namespaces :-( $result = ''; try { $xslt_processor = HarvestTransforms::get_feed_to_rif_transformer(); $dom = new DOMDocument(); if (substr($xmlData, 0, 1) == '<') { $dom->loadXML($xmlData); } else { $dom->loadXML(utf8_decode($xmlData)); } $result = $xslt_processor->transformToXML($dom); } catch (Exception $e) { $result = "ERROR UNABLE TO EXTRACT RIF" . nl2br($e->getMessage()); } return $result; }