Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

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. X X
cWarningCaracterRetorna uma descrição de advertência emitida pelo Parser. X X
    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 informada como parâmetro não seja válida, não seja um XML, caso seja um XML mal-formado, a aplicação Advpl será interrompida com uma ocorrência de erro fatal "Failed to parse XML". 
  • 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. 



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 canonilizar o XML")	varinfo("cError", cError)	varinfo("cWarning", cWarning)endifReturn
Microsiga Protheus 8.11

  • Sem rótulos