PHP 8.5.0 Alpha 1 available for testing

xml_parser_create_ns

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

xml_parser_create_nsCrea un analizador XML

Descripción

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

xml_parser_create_ns() crea un nuevo analizador XML con soporte para espacios de nombres y devuelve una instancia de XMLParser para ser utilizada con otras funciones XML.

Parámetros

encoding

El juego de caracteres es detectado automáticamente y, por lo tanto, el argumento encoding solo especifica la salida. El juego de caracteres de salida por omisión es UTF-8. Los juegos de caracteres soportados son ISO-8859-1, UTF-8 y US-ASCII.

separator

Con un analizador que soporta espacios de nombres, las etiquetas que son pasadas a las diferentes funciones de gestión estarán constituidas por el nombre del espacio y el nombre de la etiqueta, separados por la cadena separator.

Valores devueltos

Devuelve una nueva instancia de XMLParser.

Historial de cambios

Versión Descripción
8.0.0 Esta función devuelve ahora una instancia de XMLParser; anteriormente, se devolvía un resource, o false en caso de error.
8.0.0 encoding es ahora nullable.

Ver también

add a note

User Contributed Notes 2 notes

up
2
jonnyNO at SPAM dot sanriowasteland dot net
23 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 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:

<?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