diff --git a/lib/SimpleSAML/Utilities.php b/lib/SimpleSAML/Utilities.php index b46c2903e1bf071ba4a209b454ac099ce03e2257..6e1266f0f2a2a68f40f391c133f8a7ee64284a36 100644 --- a/lib/SimpleSAML/Utilities.php +++ b/lib/SimpleSAML/Utilities.php @@ -1226,28 +1226,10 @@ class SimpleSAML_Utilities { /** - * Format an XML string. - * - * This function formats an XML string using the formatDOMElement function. - * - * @param string $xml XML string which should be formatted. - * @param string $indentBase Optional indentation which should be applied to all - * the output. Optional, defaults to ''. - * @return string Formatted string. + * @deprecated This function will be removed in SSP 2.0. Please use SimpleSAML\Utils\XML::formatXMLString() instead. */ public static function formatXMLString($xml, $indentBase = '') { - assert('is_string($xml)'); - assert('is_string($indentBase)'); - - $doc = new DOMDocument(); - if (!$doc->loadXML($xml)) { - throw new Exception('Error parsing XML string.'); - } - - $root = $doc->firstChild; - SimpleSAML\Utils\XML::formatDOMElement($root); - - return $doc->saveXML($root); + return SimpleSAML\Utils\XML::formatXMLString($xml, $indentBase); } /** @@ -1715,7 +1697,7 @@ class SimpleSAML_Utilities { assert(FALSE); } - $str = self::formatXMLString($message); + $str = SimpleSAML\Utils\XML::formatXMLString($message); foreach (explode("\n", $str) as $line) { SimpleSAML_Logger::debug($line); } diff --git a/lib/SimpleSAML/Utils/XML.php b/lib/SimpleSAML/Utils/XML.php index faec37b5d500ab2166ddb2c63de43b246a1445e2..1aee76386ca2fed31a7bd38e14dbec925dfcafcd 100644 --- a/lib/SimpleSAML/Utils/XML.php +++ b/lib/SimpleSAML/Utils/XML.php @@ -93,4 +93,35 @@ class XML // add indentation before closing tag $root->appendChild(new DOMText("\n".$indentBase)); } + + /** + * Format an XML string. + * + * This function formats an XML string using the formatDOMElement() function. + * + * @param string $xml An XML string which should be formatted. + * @param string $indentBase Optional indentation which should be applied to all the output. Optional, defaults + * to ''. + * + * @return string The formatted string. + * + * @throws SimpleSAML_Error_Exception If the input does not parse correctly as an XML string. + * + * @author Olav Morken, UNINETT AS <olav.morken@uninett.no> + */ + public static function formatXMLString($xml, $indentBase = '') + { + assert('is_string($xml)'); + assert('is_string($indentBase)'); + + $doc = new DOMDocument(); + if (!$doc->loadXML($xml)) { + throw new SimpleSAML_Error_Exception('Error parsing XML string.'); + } + + $root = $doc->firstChild; + self::formatDOMElement($root, $indentBase); + + return $doc->saveXML($root); + } }