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


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


DOMDocument::schemaValidate()函數是PHP中的內置函數,用於根據給定的架構文件驗證文檔。模式文件可以采用XSD格式,這是W3C(萬維網聯盟)的建議。

用法:

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

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


  • $filename:它指定架構的路徑。
  • $flags (Optional):它指定驗證標誌。

返回值:成功時此函數返回TRUE,否則返回False。

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

程序1:

  • 檔案名稱:rule.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>
  • 檔案名稱: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"; 
    } 
    ?>
  • 輸出:
    This document is valid!

程序2:

  • 檔案名稱:rule.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>
  • 檔案名稱: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"; 
    } 
    ?>
  • 輸出:
    This document is not valid!

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



相關用法


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