📜  PHP | XMLReader setRelaxNGSchemaSource()函数

📅  最后修改于: 2022-05-13 01:56:22.408000             🧑  作者: Mango

PHP | XMLReader setRelaxNGSchemaSource()函数

XMLReader::setRelaxNGSchemaSource()函数是PHP中的一个内置函数,用于设置包含 RelaxNG Schema 的数据以用于验证。 setRelaxNGSchemaSource()函数与setRelaxNGSchema( )函数不同,前者将规则作为字符串变量接受,而后者将规则函数.rng 文件接受。

句法:

bool XMLReader::setRelaxNGSchemaSource( string $source )

参数:此函数接受单个参数$source ,其中包含包含 RelaxNG 模式的字符串。

返回值:此函数在成功时返回 TRUE,在失败时返回 FALSE。

下面的示例说明了PHP中的XMLReader::setRelaxNGSchemaSource()函数

示例 1:

  • 数据.xml
    
    
        
            

    GeeksForGeeks

            

    Portal for Geeks

        
        
            

    Heading 3

            

    Heading 4

        
  • 指数。 PHP
    open('data.xml');
      
    // Create rule as a string
    $RNG = "
    
      
        
          
        
        
          
        
      
    
    ";
      
    // Load the rule
    $XMLReader->setRelaxNGSchemaSource($RNG);
      
    // Iterate through the XML nodes
    while ($XMLReader->read()) {
        if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
      
            // Check if XML follows the relaxNG rule
            if ($XMLReader->isValid()) {
                echo "This document is valid!
    ";         }        } } ?>
  • 输出:
    This document is valid!
    This document is valid!
    This document is valid!
    This document is valid!
    This document is valid!
    This document is valid!
    This document is valid!

示例 2:

  • 数据.xml
    
    
        
                 
        
            

    Heading 3

            

    Heading 4

        
  • 指数。 PHP
    open('data.xml');
      
    // Create rule as a string
    $RNG = "
    
      
        
          
        
        
          
        
      
    
    ";
      
    // Load the rule
    $XMLReader->setRelaxNGSchemaSource($RNG);
      
    // Iterate through the XML nodes
    while ($XMLReader->read()) {
        if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
      
            // Check if XML follows the relaxNG rule
            if (!$XMLReader->isValid()) {
                echo "This document is not valid!
    ";         }        } } ?>
  • 输出:
    This document is not valid!
    This document is not valid!
    This document is not valid!

参考: https://www. PHP.net/manual/en/xmlreader.setrelaxngschemasource。 PHP