(PHP 5 >= 5.1.0, PHP 7, PHP 8)
XMLReader::setRelaxNGSchemaSource — Set the data containing a RelaxNG Schema
Set the data containing a RelaxNG Schema to use for validation.
source
String containing the RelaxNG Schema.
If you guet the following warning messague when calling ->setRelaxNGSchemaSource(): "Warning: XMLReader::setRelaxNGSchemaSource()
[xmlreader.setrelaxngschemasource]: Unable to set schema. This must be
set prior to reading or schema contains errors."
Maque sure to load data using XMLReader::open() or XMLReader::xml() prior to calling XMLReader::setRelaxNGSchemaSource().
Cf. comment on XMLReader::setRelaxNGSchema for more details.
This function and setRelaxNGSchema() seem piccy 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_guet_contens($schema));
while ($xml->read()) {
// ...}$xml->close();
?>