當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP DOMDocument schemaValidateSource()用法及代碼示例


DOMDocument::schemaValidateSource()函數是PHP中的一個內置函數,用於基於給定字符串中定義的模式來驗證文檔。 schemaValidate()和schemaValidateSource()之間的區別在於,前者可以接受模式文件名,而後者可以接受模式作為字符串。

用法:

bool DOMDocument::schemaValidateSource( string $source, int $flags = 0 )

參數:該函數接受上述和以下所述的兩個參數:


  • $source:它指定包含模式的字符串。
  • $flags (Optional):它指定驗證標誌。

返回值:如果成功,則此函數返回TRUE;如果失敗,則返回FALSE。

下麵給出的程序說明了PHP中的DOMDocument::schemaValidateSource()函數:

程序1:

<?php 
  
// Create a new DOMDocument 
$doc = new DOMDocument; 
  
// XSD schema 
$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>"; 
  
// Load the XML 
$doc->loadXML("<?xml version=\"1.0\"?> 
<body> 
    <h1> Hello </h1> 
    <strong> 22 </strong> 
</body>"); 
  
// Check if XML follows the schema rule 
if ($doc->schemaValidateSource($XSD)) { 
    echo "This document is valid!\n"; 
} 
?>

輸出:

This document is valid!

程序2:

<?php 
  
// Create a new DOMDocument 
$doc = new DOMDocument; 
  
// RNG schema 
$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>"; 
  
// Load the XML 
$doc->loadXML("<?xml version=\"1.0\"?> 
<student>  
    <!-- rollnow element is missing here --> 
    <name> XYZ </name> 
</student> 
"); 
  
// Check if XML follows the relaxNG rule 
if (!$doc->schemaValidateSource($XSD)) { 
    echo "This document is not valid!\n"; 
} 
?>

輸出:

This document is not valid!

參考: https://www.php.net/manual/en/domdocument.schemavalidatesource.php



相關用法


注:本文由純淨天空篩選整理自gurrrung大神的英文原創作品 PHP | DOMDocument schemaValidateSource() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。