4D v16.3

DOM Parse XML variable

Página Inicial

 
4D v16.3
DOM Parse XML variable

DOM Parse XML variable 


 

DOM Parse XML variable ( variável {; validaçao {; dtd|schema}} ) -> Resultado 
Parâmetro Tipo   Descrição
variável  BLOB, Texto in Nome da variavel
validaçao  Booleano in True = validação do DTD; False = sem validação
dtd|schema  String in Localização do DTD ou do schema XML
Resultado  String in Referência do elemento XML

O comando DOM Parse XML variable analisa uma variável de tipo BLOB ou Texto que contenha uma estrutura XML e retorna uma referência para esta variável. O comando pode validar ou não a estrutura através de um DTD ou de um esquema XML (XML Schema Definition (XSD) document).

Passe no parâmetro variável o nome da variavel BLOB ou o Texto que contenha o objeto XML.

O parâmetro booleano validaçao permite indicar se validar ou não a estrutura utilizando a DTD.

  • Se validaçao for igual a True, a estrutura se validará. Neste caso, o analisador tentará validar a estrutura XML do documento baseado na referência DTD ou XSD incluída no documento, ou através a DTD ou o esquema XML designado pelo terceiro parâmetro quando for passado.
  • Se validaçao for igual a False, a estrutura não se validará.
Se passar True em validaçao e omitir o terceiro parâmetro, o comando tentará validar a estrutura XML através de uma referência DTD ou XSD que se encontre na estrutura mesma. A validação pode ser indireta: se a estrutura contiver uma referência a um arquivo DTD que contenha a referência a um arquivo XSD, o comando tentará realizar ambas validações.

O terceiro parâmetro dtd, permite indicar uma DTD específica ou um esquema XML para a análise do documento. Se utilizar este parâmetro, o comando não considerará a DTD referenciada no documento XML.

Validação por DTD

Há duas formas de especificar um DTD:
  • como uma referência. Para fazer isto, passe a rota de acesso completa da nova DTD (extensão "dtd) no parâmetro dtd. Se o documento indicado não contiver uma DTD válida, o parâmetro dtd é ignorado e um erro gerado.
  • diretamente em um texto. Neste caso, se o conteúdo do parâmetro começar por “<?xml”, 4D o considerará como a DTD; do contrário, 4D o considerará como uma rota de acesso.
Validação por esquema

Para validar o documento através de um esquema XML, apenas deve passar um arquivo ou URL com uma extensão "xsd" ao invés de uma "dtd" no terceiro parâmetro. A validação por esquema XML é considerada mais flexível e poderosa que a validação por DTD. A linguagem de documentos XSD está baseada em linguagem XML. Os esquemas XML são compatíveis particularmente tipos de dados. Para maior informação sobre os esquemas XML, consulte o seguinte endereço: http://www.w3.org/XML/Schema.

Se não puder  realizar a validação (não DTD ou XSD, URL incorreto, etc.), um erro é gerado. A variável sistema Erro indica o número do erro. Pode interceptar este erro com a ajuda de um método instalado pelo comando ON ERR CALL

O comando retorna uma cadeia de caracteres (RefElement) que constitui a referência em memória da estrutura virtual da variável. Esta referência deve ser utilizada com outros comandos de análise XML.

Importante: quando não tiver mais necessidade dele, lembre de chamar o comando DOM CLOSE XML com essa referência para liberar memória.

Abertura sem validação de um objeto XML localizado em uma variável Texto 4D:

 C_TEXT(myTextVar)
 C_TIME(vDoc)
 C_TEXT($xml_Estruct_Ref)
 
 vDoc:=Open document("Document.xml")
 If(OK=1)
    RECEIVE PACKET(vDoc;myTextVar;32000)
    CLOSE DOCUMENT(vDoc)
    $xml_Estruct_Ref:=DOM Parse XML variable(myTextVar)
 End if

Abertura sem validação de um documento XML localizado em um BLOB 4D:

 C_BLOB(myBlobVar)
 C_TEXT($xml_Estruct_Ref)
 
 DOCUMENT TO BLOB(c\\importar.xml;myBlobVar)
 $xml_Estruct_Ref:=DOM Parse XML variable(myBlobVar)

Se o comando  tiver sido executado corretamente, a variável sistema Ok assume o valor 1. Se ocorrer um erro, assume o valor 0.



Ver também 

DOM CLOSE XML
DOM Parse XML source

 
PROPRIEDADES 

Produto: 4D
Tema: XML DOM
Número 720

Este comando modifica a variável sistema OKEste comando modifica a variável sistema ErrorThis command can be run in preemptive processes

 
HISTÓRIA 

Modificado: 4D 2004
Modificado: 4D v11 SQL

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)