(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_unparsed_entity_decl_handler — Set up unparsed entity declaration handler
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.
parser
The XML parser.
handler
If null
is passed, the handler is reset to its default state.
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 with
xml_set_object().
This is deprecated as of PHP 8.4.0.
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
,$entity_name
,$base
,$system_id
,$public_id
,$notation_name
parser
entity_name
base
systemId
) of the external entity.
system_id
public_id
notation_name
Always returns true
.
Version | Description |
---|---|
8.4.0 |
Passing a non-callable string to
handler 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.
|