PHP Conference Nagoya 2025

XMLReader::setRelaxNGSchemaSource

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

XMLReader::setRelaxNGSchemaSourceSet the data containing a RelaxNG Schema

Descrição

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

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

Parâmetros

source

String containing the RelaxNG Schema.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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