PHP Conference Japan 2024

XMLReader::setRelaxNGSchemaSource

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

XMLReader::setRelaxNGSchemaSource設定包含 RelaxNG 結構描述的資料

說明

public XMLReader::setRelaxNGSchemaSource(?string $source): bool

設定包含 RelaxNG 結構描述的資料,用於驗證。

參數

source

包含 RelaxNG 結構描述的字串。

返回值

成功時返回 true,失敗時返回 false

另請參閱

新增註釋

使用者貢獻的註釋 2 則註釋

remy dot damour at laposte dot net
15 年前
如果您在呼叫 ->setRelaxNGSchemaSource() 時收到以下警告訊息:「警告:XMLReader::setRelaxNGSchemaSource()
[xmlreader.setrelaxngschemasource]:無法設定綱要。這必須在
讀取之前設定,否則綱要包含錯誤。」

請確保在呼叫 XMLReader::setRelaxNGSchemaSource() 之前使用 XMLReader::open() 或 XMLReader::xml() 載入資料。

詳情請參閱 XMLReader::setRelaxNGSchema 的註釋。
anzenews at volja dot net
16 年前
這個函式和 setRelaxNGSchema() 似乎對於呼叫的時機很挑剔 - 必須在呼叫 open() 之後立即呼叫。例如

<?php
$schema
="/path/to/schema.rng";
$xmlfile="/path/to/xml.xml";

$xml = new XMLReader();
$xml->open($xmlfile);
$xml->setRelaxNGSchemaSource(file_get_contents($schema));

while (
$xml->read()) {
// ...
}

$xml->close();
?>
To Top