summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/SimpleSAML/Utilities.php24
-rw-r--r--lib/SimpleSAML/Utils/XML.php31
2 files changed, 34 insertions, 21 deletions
diff --git a/lib/SimpleSAML/Utilities.php b/lib/SimpleSAML/Utilities.php
index b46c290..6e1266f 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 faec37b..1aee763 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);
+ }
}