(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
$parser, callable|string|null $handler): true
Sets the unparsed entity declaration handler function for the XML parser
parser.
The handler will be called if the XML parser
encounters an external entity declaration with an NDATA declaration, like
the following:
<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>}
NDATA <parameter>notationName</parameter>
See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.
parserDer XML-Parser
handler
Wenn null übergeben wird, wird der Handler auf seinen Standardzustand
zurückgesetzt.
Eine leere Zeichenkette setzt den Handler ebenfalls zurück, allerdings ist dies seit PHP 8.4.0 veraltet.
Wenn handler vom Typ callable ist, wird
das Callable als Handler gesetzt.
Wenn handler vom Typ string ist, kann es
der Name der Methode eines Objekts sein, das mit
xml_set_object() gesetzt wurde.
Dies ist seit PHP 8.4.0 veraltet.
Seit PHP 8.4.0 wird die Gültigkeit des Callables bereits beim Setzen des Handlers geprüft, nicht erst beim Aufruf. Das bedeutet, dass xml_set_object() aufgerufen werden muss, bevor eine Methoden-Zeichenkette als Callback gesetzt wird. Da aber auch dieses Verhalten seit PHP 8.4.0 veraltet ist, wird stattdessen empfohlen, ein korrektes Callable für die Methode zu verwenden.
The signature of the handler must be:
$parser,$entity_name,$base,$system_id,$public_id,$notation_nameparserDer XML-Parser, der den Handler aufruft.
entity_nameThe name of the entity that is about to be defined.
base
This is the base for resolving the system identifier
(systemId) of the external entity.
system_idSystem identifier for the external entity.
public_idPublic identifier for the external entity.
notation_nameName of the notation of this entity (see xml_set_notation_decl_handler()).
Gibt immer true zurück.
| Version | Beschreibung |
|---|---|
| 8.4.0 |
Die Übergabe einer Zeichenkette an handler, die kein
Callable ist, ist nun veraltet. Daher sollte für Methoden ein
korrektes Callable verwendet werden, oder null, um den Handler zurückzusetzen.
|
| 8.4.0 |
Die Gültigkeit von handler als Callable
wird nun bereits beim Setzen des Handlers geprüft und nicht erst beim Aufruf.
|
| 8.0.0 |
parser erwartet nun eine
XMLParser-Instanz; vorher wurde eine gültige
xml-Ressource erwartet.
|