PHP Conference Nagoya 2025

xml_parser_create_ns

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

xml_parser_create_nsCria um analisador XML com suporte a espaço de nomes

Descrição

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

xml_parser_create_ns() cria um novo analisador XML com suporte a espaço de nomes do XML e retorna uma instância de XMLParser para ser usada pelas outras funções XML.

Parâmetros

encoding

A codificação de entrada é automaticamente detectada, de forma que o parâmetro encoding especifica somente a codificação de saída. O conjunto de caracteres de saída padrão é o UTF-8. As codificações suportadas são ISO-8859-1, UTF-8 e US-ASCII.

separator

Com um analisador ciente do espaço de nomes, os parâmetros de etiquetas passados às várias funções de manupulação consistirão do nome do espaço e do nome da etiqueta separados pela string especificada em separator.

Valor Retornado

Retorna uma nova instância de XMLParser.

Registro de Alterações

Versão Descrição
8.0.0 Esta função retorna uma instância de XMLParser agora; anteriormente, um recurso do tipo resource era retornado, ou false em caso de falha.
8.0.0 encoding agora pode ser nulo.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

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