# libxml Functions

## Introduction

These functions/constants are available since PHP 5.1.0 and if you have compiled one of the extensions based on libxml, like DOM, SimpleXML and XSLT.

## Requirements

This extension requires » libxml >= 2.6.0.

## Predefined Classes

## LibXMLError

## Properties

- code - the error's code

- column - the column where the error occurred. Please note that this property isn't entirely implemented in libxml and therefore 0 is often returned.

- file - the filename, or empty if the XML was loaded from a string

- level - the severity of the error (one of the following constants: `LIBXML_ERR_WARNING`, `LIBXML_ERR_ERROR` or `LIBXML_ERR_FATAL`)

- line - the line where the error occurred

- message - the error message

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`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_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 namespaces declarations
`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

## Table of Contents

- libxml_clear_errors — Clear libxml error buffer
- libxml_get_errors — Retrieve array of errors
- libxml_get_last_error — Retrieve last error from libxml
- 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