XMLWriter::setIndent

xmlwriter_set_indent

Toggle indentation on/off

Description

Object-oriented style

public bool XMLWriter::setIndent(bool $enable)

Procedural style

bool xmlwriter_set_indent(XMLWriter $writer, bool $enable)

Toggles indentation on or off.

Parameters

writer

Only for procedural calls. The XMLWriter instance that is being modified. This object is returned from a call to xmlwriter_open_uri or xmlwriter_open_memory.

enable

Whether indentation is enabled.

Return Values

Returns true on success or false on failure.

Changelog

Version Description
8.0.0 writer expects an XMLWriter instance now; previously, a resource was expected.

Examples

Example #1 XMLWriter::setIndent and mixed Content

Enabling indentation is not suitable for mixed content, because the indent string is also inserted before inline elements.

<?php
$writer = new XMLWriter();
$writer->openMemory();
$writer->setIndent(2);
$writer->startDocument();
$writer->startElement('p');
$writer->text('before');
$writer->writeElement('a', 'element');
$writer->text('after');
$writer->endElement();
$writer->endDocument();
echo $writer->outputMemory();
?>

The above example will output:

<?xml version="1.0"?>
<p>before <a>element</a>
after</p>

Notes

Note:

The indent is reset when an xmlwriter is opened.

See Also

  • XMLWriter::setIndentString