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 — 名前空間つき要素の開始タグを作成する
説明
オブジェクト指向型
bool XMLWriter::startElementNS
( string
$prefix
, string $name
, string $uri
)手続き型
bool xmlwriter_start_element_ns
( resource
$xmlwriter
, string $prefix
, string $name
, string $uri
)名前空間つき要素を開始します。
パラメータ
-
xmlwriter -
手続き型のコールでのみ使用します。 変更される XMLWriter resource です。 このリソースは、 xmlwriter_open_uri() あるいは xmlwriter_open_memory() のコールによって取得したものです。
-
prefix -
名前空間プレフィックス。
-
name -
要素名。
-
uri -
名前空間 URI。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
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.
