PHP 8.0.12 Released!


(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_parser_create_nsСоздание XML-анализатора с поддержкой пространств имён


xml_parser_create_ns(?string $encoding = null, string $separator = ":"): XMLParser

xml_parser_create_ns() создаёт новый синтаксический XML-анализатор с поддержкой пространства имён и возвращает экземпляр XMLParser, который будет использоваться в других XML-функциях.

Список параметров


Кодировка входных данных определяется автоматически, а encoding задаёт кодировку только для выводимых данных. Если передаётся пустая строка, анализатор попытается определить кодировку, просматривая первые 3 или 4 байта. Кодировка по умолчанию - UTF-8. Список поддерживаемых кодировок: ISO-8859-1, UTF-8 и US-ASCII.


Если сообщить анализатору пространство имён, то параметры тегов, передающиеся в различные обработчики будут состоять из пространства имён и локального имени, отделённых заданным в этом аргументе разделителем separator.

Возвращаемые значения

Возвращает новый экземпляр XMLParser.

Список изменений

Версия Описание
8.0.0 Функция теперь возвращает экземпляр XMLParser; ранее возвращался ресурс (resource) или false в случае возникновения ошибки.
8.0.0 encoding теперь допускает значение null.

Смотрите также

add a note add a note

User Contributed Notes 2 notes

jonnyNO at SPAM dot sanriowasteland dot net
19 years ago
This is from the Expat Function Reference by Clark Cooper, which is a reference to the C api.  

"XML_Parser XML_ParserCreateNS(const XML_Char*encoding, XML_Char sep)
Constructs a new parser that has namespace processing in effect. Namespace expanded element names and attribute names are returned as a concatenation of the namespace URI, sep, and the local part of the name. This means that you should pick a character for sep that can't be part of a legal URI."


So thats what this function is for.  Now you know.
bishop at php dot net
2 years ago
Internals has proposed[1] changing this extension from resource-based to object-based. When this change is made, xml_parser_create_ns will return an object, not a resource. Application developers are encouraged to replace any checks for explicit success, like:

= xml_parser_create_ns(/*...*/);
if (!
is_resource($res)) {
// ...

With a check for explicit failure:
= xml_parser_create_ns(/*...*/);
if (
false === $res) {
// ...

To Top