xml_parser_create_ns
(PHP 4 >= 4.0.5, PHP 5)
xml_parser_create_ns — Create an XML parser with namespace support
Description
$encoding
[, string $separator
= ":"
]] )xml_parser_create_ns() creates a new XML parser with XML namespace support and returns a resource handle referencing it to be used by the other XML functions.
Parameters
-
encoding
-
The optional
encoding
specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that theencoding
parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII. -
separator
-
With a namespace aware parser tag parameters passed to the various handler functions will consist of namespace and tag name separated by the string specified in
separator
.
Return Values
Returns a resource handle for the new XML parser.
- 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