xml_parser_create_ns
(PHP 4 >= 4.0.5, PHP 5)
xml_parser_create_ns — Создание XML анализатора с поддержкой пространств имен
Описание
$encoding
[, string $separator
= ':'
]] )xml_parser_create_ns() создает новый XML анализатор с поддержкой пространств имен и возвращает ссылающийся на него ресурс, который можно использовать в других XML функциях.
Список параметров
-
encoding
-
Необязательный аргумент
encoding
задает кодировку символов для ввода/вывода в PHP 4. Начиная с PHP 5, кодировка входных данных определяется автоматически, аencoding
задает кодировку только для выводимых данных. В PHP 4 кодировка по умолчанию для выходных данных та же, что и входных. Если передается пустая строка, анализатор попытается определить кодировку, просматривая первые 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
-
Если сообщить анализатору пространство имен, то параметры тэгов, передающиеся в различные обработчики будут состоять из пространства имен и локального имени, отделенных заданным в этом аргументе разделителем
seperator
.
Возвращаемые значения
Возвращает ресурс созданного XML анализатора.
Смотрите также
- xml_parser_create() - Создание XML анализатора
- xml_parser_free() - Освобождение XML анализатора
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Обработка XML
- XML-анализатор
- utf8_decode
- utf8_encode
- xml_error_string
- xml_get_current_byte_index
- xml_get_current_column_number
- xml_get_current_line_number
- xml_get_error_code
- xml_parse_into_struct
- xml_parse
- xml_parser_create_ns
- xml_parser_create
- xml_parser_free
- xml_parser_get_option
- xml_parser_set_option
- xml_set_character_data_handler
- xml_set_default_handler
- xml_set_element_handler
- xml_set_end_namespace_decl_handler
- xml_set_external_entity_ref_handler
- xml_set_notation_decl_handler
- xml_set_object
- xml_set_processing_instruction_handler
- xml_set_start_namespace_decl_handler
- xml_set_unparsed_entity_decl_handler
Коментарии
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.
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