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 — Create start namespaced element tag
설명
객체 기반 형식
bool XMLWriter::startElementNS
( string $prefix
, string $name
, string $uri
)
절차식 형식
bool xmlwriter_start_element_ns
( resource $xmlwriter
, string $prefix
, string $name
, string $uri
)
Starts a namespaced element.
인수
- xmlwriter
-
순차적 호출에서만 사용. XMLWriter resource가 수정됩니다. 이 자원은 xmlwriter_open_uri()나 xmlwriter_open_memory() 호출로 만들어집니다.
- prefix
-
The namespace prefix.
- name
-
The element name.
- uri
-
The namespace URI.
반환값
성공할 경우 TRUE를, 실패할 경우 FALSE를 반환합니다.
참고
- XMLWriter::endElement() - End current element
- XMLWriter::writeElementNS() - Write full namespaced element tag
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.
