• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • XMLReader::setRelaxNGSchema()

    (PHP 5 >= 5.1.0, PHP 7)

    Set the filename or URI for a RelaxNG Schema

    说明

    publicXMLReader::setRelaxNGSchema(string $filename): bool

    Set the filename or URI for the RelaxNG Schema to use for validation.

    参数

    $filename

    filename or URI pointing to a RelaxNG Schema.

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    参见

    • XMLReader::setRelaxNGSchemaSource() Set the data containing a RelaxNG Schema
    • XMLReader::setSchema() Validate document against XSD
    • XMLReader::isValid() Indicates if the parsed document is valid
    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