International PHP Conference Berlin 2025

XMLReader::setRelaxNGSchemaSource

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

XMLReader::setRelaxNGSchemaSourceZeichenkette setzen, die RelaxNG-Schemadaten enthält

Beschreibung

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

Zeichenkette setzen, die RelaxNG-Schemadaten enthält, gegen die validiert werden soll.

Parameter-Liste

source

Zeichenkette die RelaxNG-Schemadaten enthält.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Siehe auch

add a note

User Contributed Notes 2 notes

up
1
remy dot damour at laposte dot net
15 years ago
If you get the following warning message when calling ->setRelaxNGSchemaSource(): "Warning: XMLReader::setRelaxNGSchemaSource()
[xmlreader.setrelaxngschemasource]: Unable to set schema. This must be
set 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
16 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