PHP LibXML
These functions/constants are available as of PHP 5.1.0, and the following core extensions rely on this libxml extension:
DOM, libxml, SimpleXML, SOAP, WDDX, XSL, XML, XMLReader, XMLRPC and XMLWriter.
Requirements
This extension requires » libxml >= 2.6.0.
Installation
The libxml extension is enabled by default, although it may be disabled with --disable-libxml.
The optional --with-libxml-dir directive is used to specify the location of libxml on the system that PHP is being compiled on, otherwise only the default locations are scanned.
The configure process checks for libxml (specifically, xml2-config) in the following order:
The location ([DIR]) specified with --with-libxml-dir ([DIR]=/bin/xml2-config)
/usr/local/bin/xml2-config
/usr/bin/xml2-config
If configure cannot find xml2-config in the directory specified by --with-libxml-dir, then it'll continue on and check the default locations.
Run-time Configuration
This extension has no configuration directives defined in php.ini.
Resource Types
This extension has no resource types defined.
Predefined Constants
This Libxml extension also provided some predefined constants.
In order to use this extension has either been compiled into PHP or dynamically loaded at runtime.
- LIBXML_BIGLINES (integer)
- Allows line numbers greater than 65535 to be reported correctly.
- Note: Only available as of PHP 7.0.0 with Libxml >= 2.9.0
- LIBXML_COMPACT (integer)
- Activate small nodes allocation optimization.
- This may speed up your application without needing to change the code.
- Note: Only available in Libxml >= 2.6.21
- LIBXML_DTDATTR (integer)
- Default DTD attributes
- LIBXML_DTDLOAD (integer)
- Load the external subset
- LIBXML_DTDVALID (integer)
- Validate with the DTD
- LIBXML_HTML_NOIMPLIED (integer)
- Sets HTML_PARSE_NOIMPLIED flag,
- which turns off the automatic adding of implied html/body... elements.
- Note: Only available in Libxml >= 2.7.7 (as of PHP >= 5.4.0)
- LIBXML_HTML_NODEFDTD (integer)
- Sets HTML_PARSE_NODEFDTD flag,
- which prevents a default doctype being added when one is not found.
- Note: Only available in Libxml >= 2.7.8 (as of PHP >= 5.4.0)
- LIBXML_NOBLANKS (integer)
- Remove blank nodes
- LIBXML_NOCDATA (integer)
- Merge CDATA as text nodes
- LIBXML_NOEMPTYTAG (integer)
- Expand empty tags (e.g. <br/> to <br></br>)
- Note: This option is currently just available in the DOMDocument::save and DOMDocument::saveXML functions.
- LIBXML_NOENT (integer)
- Substitute entities
- LIBXML_NOERROR (integer)
- Suppress error reports
- LIBXML_NONET (integer)
- Disable network access when loading documents
- LIBXML_NOWARNING (integer)
- Suppress warning reports
- LIBXML_NOXMLDECL (integer)
- Drop the XML declaration when saving a document
- Note: Only available in Libxml >= 2.6.21
- LIBXML_NSCLEAN (integer)
- Remove redundant namespace declarations
- LIBXML_PARSEHUGE (integer)
- Sets XML_PARSE_HUGE flag, which relaxes any hardcoded limit from the parser.
- This affects limits like maximum depth of a document or the entity recursion, as well as limits of the size of text nodes.
- Note: Only available in Libxml >= 2.7.0 (as of PHP >= 5.3.2 and PHP >= 5.2.12)
- LIBXML_PEDANTIC (integer)
- Sets XML_PARSE_PEDANTIC flag, which enables pedantic error reporting.
- Note: Available as of PHP >= 5.4.0
- LIBXML_XINCLUDE (integer)
- Implement XInclude substitution
- LIBXML_ERR_ERROR (integer)
- A recoverable error
- LIBXML_ERR_FATAL (integer)
- A fatal error
- LIBXML_ERR_NONE (integer)
- No errors
- LIBXML_ERR_WARNING (integer)
- A simple warning
- LIBXML_VERSION (integer)
- libxml version like 20605 or 20617
- LIBXML_DOTTED_VERSION (string)
- libxml version like 2.6.5 or 2.6.17
- LIBXML_SCHEMA_CREATE (integer)
- Create default/fixed value nodes during XSD schema validation
- Note: Only available in Libxml >= 2.6.14 (as of PHP >= 5.5.2)
Libxml Functions
-
libxml_clear_errors — Clear libxml error buffer
-
libxml_disable_entity_loader — Disable the ability to load external entities
-
libxml_get_errors — Retrieve array of errors
-
libxml_get_last_error — Retrieve last error from libxml
-
libxml_set_external_entity_loader — Changes the default external entity loader
-
libxml_set_streams_context — Set the streams context for the next libxml document load or write
-
libxml_use_internal_errors — Disable libxml errors and allow user to fetch error information as needed
Libxml Predefined Classes
- libXMLError — The libXMLError class