PHP: xml_set_unparsed_entity_decl_handler - Manual (original) (raw)
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
Description
The handler will be called if the XML parser encounters an external entity declaration with an NDATA declaration, like the following:
name {publicId | systemId} NDATA notationName
See » section 4.2.2 of the XML 1.0 spec for the definition of notation declared external entities.
Parameters
parser
The XML parser.
handler
If [null](reserved.constants.php#constant.null) is passed, the handler is reset to its default state.
Warning
An empty string will also reset the handler, however this is deprecated as of PHP 8.4.0.
If handler is a callable, the callable is set as the handler.
If handler is a string, it can be the name of a method of an object set withxml_set_object().
Warning
This is deprecated as of PHP 8.4.0.
Warning
As of PHP 8.4.0, the callable is checked to be valid while setting the handler, not when it is called. This means that xml_set_object() must be called prior to setting a method string as the callback. However, as this behaviour is also deprecated as of PHP 8.4.0, using a proper callable for the method is recommended instead.
The signature of the handler must be:
parser
The XML parser calling the handler.
entity_name
The 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_id
System identifier for the external entity.
public_id
Public identifier for the external entity.
notation_name
Name of the notation of this entity (seexml_set_notation_decl_handler()).
Return Values
Always returns [true](reserved.constants.php#constant.true).
Changelog
| Version | Description |
|---|---|
| 8.4.0 | Passing a non-callable string tohandler is now deprecated, use a proper callable for methods, or null to reset the handler. |
| 8.4.0 | The validity of handler as a callable is now checked when setting the handler instead of checking when calling it. |
| 8.0.0 | parser expects an XMLParser instance now; previously, a valid xml resource was expected. |
Found A Problem?
There are no user contributed notes for this page.