DOMDocument::relaxNGValidate()函数是PHP中的内置函数,用于对文档执行RelaxNG验证。 RelaxNG是DDT的替代方法,它定义了XML文档必须遵循的结构。
用法:
bool DOMDocument::relaxNGValidate( string $filename )
参数:该函数接受一个包含RNG文件的参数$filename。
返回值:如果成功,则此函数返回TRUE;如果失败,则返回FALSE。
下面给出的程序说明了PHP中的DOMDocument::relaxNGValidate()函数:
程序1:
- 档案名称:rule.rng
<element name="college" xmlns="http://relaxng.org/ns/structure/1.0"> <zeroOrMore> <element name="rollno"> <element name="name"> <text/> </element> <element name="subject"> <text/> </element> </element> </zeroOrMore> </element>
- 档案名称:index.php
<?php // Create a new DOMDocument $doc = new DOMDocument; // Load the XML $doc->loadXML("<?xml version=\"1.0\"?> <college> <rollno> <name>John Smith</name> <subject>Web</subject> </rollno> <rollno> <name>John Doe</name> <subject>CSE</subject> </rollno> </college>"); // Check if XML follows the relaxNG rule if ($doc->relaxNGValidate('rule.rng')) { echo "This document is valid!\n"; } ?>
- 输出:
This document is valid!
程序2:
- 档案名称:rule.rng
<element name="company" xmlns="http://relaxng.org/ns/structure/1.0"> <zeroOrMore> <element name="employee"> <element name="name"> <text/> </element> <element name="salary"> <text/> </element> </element> </zeroOrMore> </element>
- 档案名称:index.php
<?php // Create a new DOMDocument $doc = new DOMDocument; // Load the XML $doc->loadXML("<?xml version=\"1.0\"?> <company> <employee> <name>John Smith</name> <salary>Web</salary> </employee> <employee> <!-- Do not add salary to voilate rule --> <name>John Doe</name> </employee> </company>"); // Check if XML doesn't follows the relaxNG rule if (!$doc->relaxNGValidate('rule.rng')) { echo "This document is not valid!\n"; } ?>
- 输出:
This document is not valid!
参考: https://www.php.net/manual/en/domdocument.relaxngvalidate.php
相关用法
- PHP DOMDocument createElementNS()用法及代码示例
- PHP DOMDocument getElementsByTagName()用法及代码示例
- PHP DOMDocument loadXML()用法及代码示例
- PHP DOMDocument save()用法及代码示例
- PHP DOMDocument schemaValidate()用法及代码示例
- PHP DOMDocument load()用法及代码示例
- PHP DOMDocument loadHTML()用法及代码示例
- PHP DOMDocument loadHTMLFile()用法及代码示例
- PHP DOMDocument normalizeDocument()用法及代码示例
- PHP DOMDocument saveHTMLFile()用法及代码示例
- PHP DOMDocument createProcessingInstruction()用法及代码示例
- PHP DOMDocument relaxNGValidateSource()用法及代码示例
- PHP DOMDocument createEntityReference()用法及代码示例
- PHP DOMDocument saveHTML()用法及代码示例
- PHP DOMDocument importNode()用法及代码示例
注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMDocument relaxNGValidate() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。