Пример #1
0
 /**
  * validarXml
  * Valida qualquer xml do sistema NFe com seu xsd
  * NOTA: caso não exista um arquivo xsd apropriado retorna false
  * @param string $xml path ou conteudo do xml
  * @return boolean
  */
 public function validarXml($xml = '')
 {
     $aResp = array();
     $schem = IdentifyNFe::identificar($xml, $aResp);
     if ($schem == '') {
         return true;
     }
     $xsdFile = $aResp['Id'] . '_v' . $aResp['versao'] . '.xsd';
     $xsdPath = NFEPHP_ROOT . DIRECTORY_SEPARATOR . 'schemes' . DIRECTORY_SEPARATOR . 'NFe' . DIRECTORY_SEPARATOR . $this->aConfig['schemesNFe'] . DIRECTORY_SEPARATOR . $xsdFile;
     if (!is_file($xsdPath)) {
         $this->errors[] = "O arquivo XSD {$xsdFile} não foi localizado.";
         return false;
     }
     if (!ValidXsd::validar($aResp['xml'], $xsdPath)) {
         $this->errors[] = ValidXsd::$errors;
         return false;
     }
     return true;
 }
Пример #2
0
 /**
  * Valida o xml contra o xsd
  *
  * @param  string $xml
  * @return boolean
  */
 public function valida($xml = '')
 {
     if (empty($xml)) {
         $xml = $this->xml;
     }
     $xsdfile = dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . 'schemes' . DIRECTORY_SEPARATOR . $this->objConfig->schemes . DIRECTORY_SEPARATOR . $this->signTag . '-' . $this->objConfig->schemes . '.xsd';
     if (!ValidXsd::validar($xml, $xsdfile)) {
         $this->errors = ValidXsd::$errors;
         return false;
     }
     return true;
 }