PHP Conference Nagoya 2025

xml_parser_create_ns

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

xml_parser_create_nsCrea un parser XML con il supporto dello spazio dei nomi

Descrizione

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

xml_parser_create_ns() crea un nuovo parser XML con il supporto dello spazio dei nomi XML e restituisce un handle che si riferisce ad esso da utilizzarsi con le altre funzioni XML.

Elenco dei parametri

encoding

Il parametro opzionale encoding indica la codifica dei caratteri in input ed output per il PHP 4. A partire dal PHP 5, la codifica dell'input è determinata automaticamente, pertanto il parametro encoding indica solo dal codifica dell'output. In PHP 4, la codifica di default dell'output è la medesima utilizzata dall'input. In PHP 5.0.0 a 5.0.1, il set di caratteri di default è l' ISO-8859-1, mentre in PHP 5.0.2 e successivi è UTF-8. Le codifiche supportate sono ISO-8859-1, UTF-8 e US-ASCII.

separator

Con un parser che gestisce gli spazi dei nomi, i tag passati alle varie funzioni handler saranno composti dallo spazio dei nomi e dal nome del tag separati dalla stringa specificata in separator

Valori restituiti

Restituisce un handle della risorsa per il nuovo parser XML.

Vedere anche:

add a note

User Contributed Notes 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