by default, the xmlns: definition is repeated on every element.
if you do want the prefix, but dont want the xmlns: declaration repeated, set the namespace to null. dont forget to declare the namespace prefix somewhere higher in your document, though:
<?php
$w->startElementNS('foo', 'bar', 'http://example.com/foo');
$w->startElementNS('foo', 'baz', null);
$w->endElement();
$w->endElement();
?>
XMLWriter->startElementNS
xmlwriter_start_element_ns
(PHP 5 >= 5.1.2, PECL xmlwriter >= 0.1.0)
XMLWriter->startElementNS -- xmlwriter_start_element_ns — Element mit Namensraum beginnen
Beschreibung
Objektorientierter Stil
bool XMLWriter::startElementNS
( string
$prefix
, string $name
, string $uri
)Prozeduraler Stil
bool xmlwriter_start_element_ns
( resource
$xmlwriter
, string $prefix
, string $name
, string $uri
)Beginnt ein Element im angegebenen Namensraum.
Parameter-Liste
-
xmlwriter -
Nur für prozedurale Aufrufe. Die XMLWriter-resource, die bearbeitet werden soll. Diese Ressource wird von Aufrufen von xmlwriter_open_uri() oder xmlwriter_open_memory() geliefert.
-
prefix -
Präfix des Namensraum.
-
name -
Elementname.
-
uri -
URI des Namensraum.
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Siehe auch
- XMLWriter::endElement() - Beendet Element
- XMLWriter::writeElementNS() - Komplettes Element mit Namensraum schreiben
pike-php at kw dot nl ¶
2 years ago
anthony dot parsons at manx dot net ¶
5 years ago
If you don't want any namespace prefix at all but still want the xmlns attribute, set $prefix to null.
