From a3ded586b6a0bbc28b0441b129d0befb8d6e4006 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Thu, 27 Nov 2014 13:36:29 +0100 Subject: [PATCH] Namespaced elements now available in xmloutputter --- lib/xmloutputter.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index 528f633050..481b2dedca 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -142,6 +142,15 @@ class XMLOutputter $this->elementEnd($tag); } + function elementNS(array $ns, $tag, $attrs=null, $content=null) + { + $this->elementStartNS($ns, $tag, $attrs); + if (!is_null($content)) { + $this->xw->text($content); + } + $this->elementEnd($tag); + } + /** * output a start tag for an element * @@ -169,6 +178,20 @@ class XMLOutputter } } + function elementStartNS(array $ns, $tag, $attrs=null) + { + reset($ns); // array pointer to 0 + $uri = key($ns); + $this->xw->startElementNS($ns[$uri], $tag, $uri); + if (is_array($attrs)) { + foreach ($attrs as $name => $value) { + $this->xw->writeAttribute($name, $value); + } + } else if (is_string($attrs)) { + $this->xw->writeAttribute('class', $attrs); + } + } + /** * output an end tag for an element *