Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
XmlC14N
XmlC14N

Função: XmlC14N

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

XmlC14N( < cXML>, < cOption>, < @cErro>, < @cWarning> ) --> cRetXML

 

NomeTipoDescriçãoObrigatórioReferência
cXMLCaracterIndica o conteúdo XML que assumirá a formato canonical.X 
cOptionCaracterReservado para implementação futura. Deve ser informada uma string em branco.X 
cErroCaracterRetorna uma descrição de erro, em caso de falha no Parser.XX
cWarningCaracterRetorna uma descrição de advertência emitida pelo Parser.XX

 

cRetXML
    (caracter)
  • Retorna o XML recodificado na forma canonical.

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 . A função  XmlC14N() 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. 

Observações

  • Caso a string XML seja válida, porém o processo de canonicalização não seja completo com sucesso, a função retonará uma string em branco. 
  • Caso a string XML informada como parâmetro não seja válida, 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".
  • Caso a string XML seja vazia, a função retornará uma string em branco e colocará no parâmetro <cErro> a mensagem "Invalid empty document on XmlC14N".

Importante

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

 

User function tstC14N()
Local cError := ""
Local cWarning := ""
Local cXml := memoread("\xml\example.xml")
Local cXmlRet := ""

cXmlRet := XmlC14N( cXML , "" , @cError, @cWarning)

if ( Len(cXmlRet) > 0 )
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