DOMDocument::relaxNGValidateSource()函数是PHP中的一个内置函数,用于使用字符串作为RNG架构对文档执行RelaxNG验证。 relaxNGValidate()和relaxNGValidateSource()之间的区别在于,前者接受rng模式文件名,而后者也接受rng模式文件名。
用法:
bool DOMDocument::relaxNGValidateSource( string $source )
参数:该函数接受一个包含RNG模式的单个参数$source。
返回值:如果成功,则此函数返回TRUE;如果失败,则返回FALSE。
下面给出的程序说明了PHP中的DOMDocument::relaxNGValidateSource()函数:
程序1:
<?php
// Create a new DOMDocument
$doc = new DOMDocument;
// RNG schema
$RNG = "<element name=\"body\"
xmlns=\"http://relaxng.org/ns/structure/1.0\">
<zeroOrMore>
<element name=\"div\">
<element name=\"h1\">
<text/>
</element>
<element name=\"h2\">
<text/>
</element>
</element>
</zeroOrMore>
</element>";
// Load the XML
$doc->loadXML("<?xml version=\"1.0\"?>
<body>
<div>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
</div>
<div>
<h1>Heading 3</h1>
<h2>Heading 4</h2>
</div>
</body>");
// Check if XML follows the relaxNG rule
if ($doc->relaxNGValidateSource($RNG)) {
echo "This document is valid!\n";
}
?>
输出:
This document is valid!
程序2:
<?php
// Create a new DOMDocument
$doc = new DOMDocument;
// RNG schema
$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>";
// 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->relaxNGValidateSource($RNG)) {
echo "This document is not valid!\n";
}
?>
输出:
This document is not valid!
参考: https://www.php.net/manual/en/domdocument.relaxngvalidatesource.php
相关用法
- PHP DOMDocument getElementsByTagName()用法及代码示例
- PHP DOMDocument importNode()用法及代码示例
- PHP DOMDocument loadXML()用法及代码示例
- PHP DOMDocument createElementNS()用法及代码示例
- PHP DOMDocument load()用法及代码示例
- PHP DOMDocument loadHTML()用法及代码示例
- PHP DOMDocument loadHTMLFile()用法及代码示例
- PHP DOMDocument normalizeDocument()用法及代码示例
- PHP DOMDocument save()用法及代码示例
- PHP DOMDocument createProcessingInstruction()用法及代码示例
- PHP DOMDocument createEntityReference()用法及代码示例
- PHP DOMDocument createTextNode()用法及代码示例
- PHP DOMDocument saveHTML()用法及代码示例
- PHP DOMDocument saveHTMLFile()用法及代码示例
- PHP DOMDocument saveXML()用法及代码示例
注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMDocument relaxNGValidateSource() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。