当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。