PHP Conference Nagoya 2025

XMLReader::setRelaxNGSchema

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

XMLReader::setRelaxNGSchemaFixe le nom du fichier ou l'URI pour le Schéma RelaxNG

Description

public XMLReader::setRelaxNGSchema(?string $filename): bool

Fixe le nom du fichier ou l'URI pour le Schéma RelaxNG à utiliser pour validation.

Liste de paramètres

filename

Nom du fichier ou URI pointant vers le Schéma RelaxNG.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Voir aussi

add a note

User Contributed Notes 1 note

up
-1
remy dot damour at laposte dot net
15 years ago
Make sure to load your data prior to calling ->setRelaxNGSchema() otherwise you will get an error.

<?php
$xml_reader
= new XMLReader();
$xml_reader->setRelaxNGSchema($rng_schema);
$xml_reader->xml($xml_data);
?>
Above code generates the following warning: "Warning: XMLReader::setRelaxNGSchemaSource()
[xmlreader.setrelaxngschemasource]: Unable to set schema. This must be
set prior to reading or schema contains errors."

whereas the following does not generate a warning:
<?php
$xml_reader
= new XMLReader();
$xml_reader->xml($xml_data); // or $xml_reader->xml($xml_file);
$xml_reader->setRelaxNGSchema($rng_schema);
?>

cf. http://bugs.php.net/bug.php?id=46978
To Top