XMLWriter::setIndent

xmlwriter_set_indent

字下げの on/off を切り替える

説明

オブジェクト指向型

public bool XMLWriter::setIndent(bool $enable)

手続き型

bool xmlwriter_set_indent(XMLWriter $writer, bool $enable)

字下げの on/off を切り替えます。

パラメータ

writer

手続き型のコールでのみ使用します。 変更される XMLWriter のインスタンスです。 このインスタンスは、xmlwriter_open_uri あるいは xmlwriter_open_memory を呼び出すことで取得したものです。

enable

字下げを有効にするかどうか。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 引数 writer は、XMLWriter のインスタンスを期待するようになりました。 これより前のバージョンでは、リソースが期待されていました。

例1 XMLWriter::setIndent と mixed content

mixed content では字下げを有効にしてもうまく動きません。 字下げされた文字列は、インライン要素の前に挿入されるからです。

<?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();
?>

上の例の出力は以下となります。

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

注意

注意:

xmlwriter がオープンされた時に、字下げの状態はリセットされます。

参考

  • XMLWriter::setIndentString