XMLReader::setRelaxNGSchema
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
XMLReader::setRelaxNGSchema — RelaxNG スキーマのファイル名あるいは URI を設定する
説明
検証の際に使用する RelaxNG スキーマのファイル名あるいは URI を 設定します。
パラメータ
filename
-
RelaxNG スキーマを指すファイル名あるいは URI。
参考
- XMLReader::setRelaxNGSchemaSource() - RelaxNG スキーマを含むデータを設定する
- XMLReader::setSchema() - ドキュメントを XSD で検証する
- XMLReader::isValid() - パースしているドキュメントの妥当性を示す
+add a note
User Contributed Notes 1 note
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
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google