PHP 7.4.0beta4 released!

xml_parser_create_ns

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

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

Описание

xml_parser_create_ns ([ string $encoding [, string $separator = ":" ]] ) : resource

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

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

encoding

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

separator

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

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

Возвращает ресурс созданного XML-анализатора, или FALSE в случае возникновения ошибки.

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

add a note add a note

User Contributed Notes 2 notes

up
2
jonnyNO at SPAM dot sanriowasteland dot net
17 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."

(from http://www.xml.com/pub/a/1999/09/expat/reference.html)

So thats what this function is for.  Now you know.
up
0
bishop at php dot net
6 months 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:

<?php
$res
= xml_parser_create_ns(/*...*/);
if (!
is_resource($res)) {
   
// ...
}
?>

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

[
1]: https://marc.info/?l=php-internals&m=154998365013373&w=2
To Top