
DOMDocument::createAttributeNS 함수의 ns 매개 변수는 namespace를 생성하는 데 꼭 필요한 매개 변수가 아닙니다.
이 함수는 namespace를 생성하는 데는 ns 매개 변수를 사용하지 않습니다. 대신, namespace URI를 지정하는 ns 매개 변수와 namespace prefix를 지정하는 localName 매개 변수를 사용합니다.
만약 ns 매개 변수에 null 값을 넘기면, namespace URI가 빈 문자열로 설정됩니다.
이러한 이유로 null 값을 넘겨도 namespace가 생성되는 것입니다.
예를 들어, 다음과 같이 createAttributeNS 함수를 호출할 수 있습니다.
#hostingforum.kr
php
$doc = new DOMDocument();
$elem = $doc->createElementNS('http://example.com/ns', 'example:attr');
이 코드에서는 namespace URI가 'http://example.com/ns'로 설정되고, namespace prefix가 'example'로 설정됩니다.
만약 ns 매개 변수에 null 값을 넘기면, 다음과 같이 호출할 수 있습니다.
#hostingforum.kr
php
$doc = new DOMDocument();
$elem = $doc->createElementNS(null, 'example:attr');
이 코드에서는 namespace URI가 빈 문자열로 설정되고, namespace prefix가 'example'로 설정됩니다.
따라서, ns 매개 변수의 역할을 정확히 이해하기 위해서는 namespace URI와 namespace prefix를 분리하여 이해해야 합니다.
2025-05-05 17:48