Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css
Portuguese

Pagetitle
XmlC14NFile
XmlC14NFile

...

Função: XmlC14NFile

Esta função permite aplicar o algoritmo canonicalization C14N em um arquivo que contém um XML.

XmlC14NFile( < cXMLFile>, < cOption>, < @cErro>, < @cWarning> ) --> cRetXML

Nota
icontrue
titleAtenção

Em build superior a 7.00.121227P há mudança de comportamento na canonicalização do caractere de referência &#x20;.

Esta função permite aplicar o algoritmo canonicalization C14N em um arquivo que contém um XML.

Sintaxe

Bloco de código
collapsefalse
XmlC14NFile( < cFile >, < cOption >, < @cError >, < @cWarning > )

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

...

cFile

...

caractere

Indica

...

caminho do arquivo XML que assumirá a formato canonical.

X

 

cOption

...

caractere

Reservado para implementação futura. Deve ser informada uma string em branco.

X

 

...

cError

...

caractere

Retorna uma descrição de erro, em caso de falha no Parser.

X

X

cWarning

...

caractere

Retorna uma descrição de advertência emitida pelo Parser.

X

X

Retorno

Nome

...

Tipo

...

Descrição

cRetXML

...

caractere

Retorna o XML recodificado na forma canonical.

Observações

  • Um algoritmo de canonicalization tem o objetivo de aplicar as seguintes regras em um XML:
    • Normalizar quebras de linha
    • Normalizar valores de atributos
    • Trocar seções

...

    • CDATA pelo seu conteúdo explícito
  • Essa função atende às especificação W3C - World Wide Web Consortium REC-xml-c14n-20010315

...

  • .

...

  • Ela aplica a canonicalização na string XML informada como parâmetro em conformidade com a especificação de

...

  • canonicalização C14N 1.0 (não-exclusiva),

...

  • removendo comentários.

...

  • O caminho apontado por cFile será convertido para letra minúscula.
  • Caso o conteúdo do arquivo XML seja válido, porém o processo de canonicalização não seja completo com sucesso, a função

...

  • retornará uma string em branco.
  • Caso o arquivo XML informado como parâmetro não tenha conteúdo válido, não seja um XML, caso seja um XML mal-formado, a função retornará uma string em branco e colocará no parâmetro <cErro> a mensagem "Failed to parse XML".
  • Essa função trabalha somente com arquivos e diretórios localizados no servidor (rootPath). Caso seja passado um caminho de arquivo do SmartClient, o programa será interrompido e será apresentada a mensagem "Only server path are allowed on XmlC14NFile".

Exemplos

 

Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
Importante

Em build superior a 7.00.121227P há mudança de comportamento na canonicalização do caracter de referência &#x20;.

 

Exemplos
User function tstC14NFil()


  Local cError := ""


  Local cWarning := ""


  Local cXmlFile := "\xml\example.xml"


  Local cXmlRet := ""


  
  cXmlRet := XmlC14NFile( cXMLFile, "" , @cError, @cWarning )


  
  if ( Len( cXmlRet ) > 0 )


    
memowrite
MemoWrite( "\xml\canonical.xml", cXmlRet )


  else


    conout( "Nao foi possível canonicalizar o XML" )


    varinfo( "cError", cError )


    varinfo( "cWarning", cWarning )


  endif

Return
Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10
 

Return