XMLReader::setRelaxNGSchemaSource

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

XMLReader::setRelaxNGSchemaSourceSet the data containing a RelaxNG Schema

说明

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

Set the data containing a RelaxNG Schema to use for validation.

参数

source

String containing the RelaxNG Schema.

返回值

成功时返回 true, 或者在失败时返回 false

参见

添加备注

用户贡献的备注 2 notes

up
1
remy dot damour at laposte dot net
16 years ago
If you get the following warning message when calling ->setRelaxNGSchemaSource(): "Warning: XMLReader::setRelaxNGSchemaSource()[xmlreader.setrelaxngschemasource]: Unable to set schema. This must beset prior to reading or schema contains errors." Make sure to load data using XMLReader::open() or XMLReader::xml() prior to calling XMLReader::setRelaxNGSchemaSource().Cf. comment on XMLReader::setRelaxNGSchema for more details.
up
-1
anzenews at volja dot net
17 years ago
This function and setRelaxNGSchema() seem picky about when they are called - right after the call to open(). For example:<?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