PHP | Función DOMDocument schemaValidate()

La función DOMDocument::schemaValidate() es una función incorporada en PHP que se usa para validar un documento basado en el archivo de esquema dado. El archivo de esquema puede estar en formato XSD, que es la recomendación de W3C (World Wide Web Consortium).

Sintaxis:

bool DOMDocument::schemaValidate( string $filename, int $flags = 0 )

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:

  • $filename: Especifica la ruta al esquema.
  • $flags (Opcional): Especifica las banderas de validación.

Valor devuelto: esta función devuelve VERDADERO en caso de éxito o Falso en caso de error.

Los siguientes programas ilustran la función DOMDocument::schemaValidate() en PHP:

Programa 1:

  • Nombre del archivo: regla.xsd

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified">
        <xs:element name="student">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="name" type="xs:string"/>
                    <xs:element name="rollno" type="xs:integer"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:schema>
  • Nombre del archivo: index.php

    <?php
      
    // Create a new DOMDocument
    $doc = new DOMDocument;
      
    // Load the XML
    $doc->loadXML("<?xml version=\"1.0\"?>
    <student>
        <name>Rahul </name>
        <rollno>34</rollno>
    </student>");
      
    // Check if XML follows the rule
    if ($doc->schemaValidate('rule.xsd')) {
        echo "This document is valid!\n";
    }
    ?>
  • Producción:
    This document is valid!

Programa 2:

  • Nombre del archivo: regla.xsd

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified">
        <xs:element name="body">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="h1" type="xs:string"/>
                    <xs:element name="strong" type="xs:integer"/>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:schema>
  • Nombre del archivo: index.php

    <?php
      
    // Create a new DOMDocument
    $doc = new DOMDocument;
      
    // Load the XML
    $doc->loadXML("<?xml version=\"1.0\"?>
    <student>
        <h1>Rahul </h1>
    </student>");
      
    // Check if XML follows the rule
    if (!$doc->schemaValidate('rule.xsd')) {
        echo "This document is not valid!\n";
    }
    ?>
  • Producción:
    This document is not valid!

Referencia: https://www.php.net/manual/en/domdocument.schemavalidate.php

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *