The DOMDocument::schemaValidate() function is an inbuilt function in PHP which is used to validate a document based on the given schema file. The schema file can be in an XSD format which is the recommendation from W3C (World Wide Web Consortium).
Syntax:
bool DOMDocument::schemaValidate( string $filename, int $flags = 0 )Parameters: This function accept two parameters as mentioned above and described below:
- $filename: It specifies the path to the schema.
- $flags (Optional): It specifies the validation flags.
- File name: rule.xsd
php <?xml version="1.0"?> <xs:schema xmlns:xs="https://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>
- File name: index.php
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"; } ?>
- Output:
This document is valid!
- File name: rule.xsd
php <?xml version="1.0"?> <xs:schema xmlns:xs="https://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>
- File name: index.php
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"; } ?>
- Output:
This document is not valid!