Árvore de páginas

Realiza a validação de um arquivo XML utilizando um XSD (XML Schema Definition).

Sintaxe

lRetorno := XmlFVldSch( <cXML>, <cXSD>, <cError>, <cWarning> )

Parâmetros

NomeTipoDescriçãoObrigatórioReferência
cXMLCaractere

Indica o arquivo XML que será validado

X 
cXSDCaractereIndica o arquivo XSD utilizado na validação do XMLX 
cErrorCaractereIndica a variável que será preenchida com a descrição do erro observado durante a validação do XMLXX
cWarningCaractereIndica a variável que será preenchida com a descrição do alerta observado durante a validação do XMLXX

Retorno

NomeTipoDescrição
lRetornoLógico

Retorna verdadeiro (.T.) caso o arquivo XML for validado a partir do XSD e, caso contrário, retorna falso (.F.) e preenche as variáveis cError e cWarning quando não for possível validar o XML.

Observações

  1. Função disponibilizada a partir do build 7.00.070910p.
  2. Essa função somente acessa arquivos e diretórios localizados a partir do rootPath.

Exemplos

Exemplo 

user function exemplo()
  local cError := "", cWarning := ""
  // Valida um arquivo XML com o XSD - XML válido
  if xmlFVldSch("valid.xml", "schema_definition.xsd", @cError, @cWarning)
    conOut("[OK]XML from XSD")
  else
    conOut("[ERROR]XML from XSD error", "Error: " + cError, "Warning: "+ cWarning)
  endif
  // Valida um arquivo XML com o XSD - XML inválido
  if xmlFVldSch("invalid.xml", "schema_definition.xsd", @cError, @cWarning)
    conOut("[ERROR]XML from XSD error: Invalid content!")
  else
  // Element 'Quantidade': 'ABC' is not a valid value of the atomic type 'xs:integer'.
    conOut("[OK]XML from XSD error", "Error: " + cError, "Warning: "+ cWarning)
  endif
return

Arquivos utilizados no exemplo: