PHPverse 2025

XMLReader::setRelaxNGSchema

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

XMLReader::setRelaxNGSchemaDefine o nome do arquivo ou URI para um esquema RelaxNG

Descrição

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

Define o nome do arquivo ou URI para o esquema RelaxNG a ser usado para validação.

Parâmetros

filename

Nome do arquivo ou URI apontando para um esquema RelaxNG.

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) 1 note

up
-1
remy dot damour at laposte dot net
16 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