PHP Conference Japan 2024

XMLReader::setRelaxNGSchema

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

XMLReader::setRelaxNGSchema设置 RelaxNG Schema 的文件名或 URI

说明

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

设置用于验证的 RelaxNG Schema 的文件名或 URI。

参数

filename

指向 RelaxNG Schema 的文件名或 URI。

返回值

成功时返回 true,失败时返回 false

参见

添加注释

用户贡献的注释 1 个注释

up
-1
remy dot damour at laposte dot net
15 年前
请确保在调用 ->setRelaxNGSchema() 之前加载数据,否则你将会遇到错误。

<?php
$xml_reader
= new XMLReader();
$xml_reader->setRelaxNGSchema($rng_schema);
$xml_reader->xml($xml_data);
?>
上面的代码会生成如下警告:"Warning: XMLReader::setRelaxNGSchemaSource()
[xmlreader.setrelaxngschemasource]: Unable to set schema. This must be
set prior to reading or schema contains errors."

而下面的代码则不会生成警告
<?php
$xml_reader
= new XMLReader();
$xml_reader->xml($xml_data); // 或 $xml_reader->xml($xml_file);
$xml_reader->setRelaxNGSchema($rng_schema);
?>

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