PHP 8.4.1 Released!

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setRelaxNGSchemaRelaxNG スキーマのファイル名あるいは URI を設定する

説明

public XMLReader::setRelaxNGSchema(?string $filename): bool

検証の際に使用する RelaxNG スキーマのファイル名あるいは URI を 設定します。

パラメータ

filename

RelaxNG スキーマを指すファイル名あるいは URI。

戻り値

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

参考

add a note

User Contributed Notes 1 note

up
-1
remy dot damour at laposte dot net
15 years ago
Make sure to load your data prior to calling ->setRelaxNGSchema() otherwise you will get an error.

<?php
$xml_reader
= new XMLReader();
$xml_reader->setRelaxNGSchema($rng_schema);
$xml_reader->xml($xml_data);
?>
Above code generates the following warning: "Warning: XMLReader::setRelaxNGSchemaSource()
[xmlreader.setrelaxngschemasource]: Unable to set schema. This must be
set prior to reading or schema contains errors."

whereas the following does not generate a warning:
<?php
$xml_reader
= new XMLReader();
$xml_reader->xml($xml_data); // or $xml_reader->xml($xml_file);
$xml_reader->setRelaxNGSchema($rng_schema);
?>

cf. http://bugs.php.net/bug.php?id=46978
To Top