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 *