Árvore de páginas

Versões comparadas

Chave

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

Pagetitle
XmlC14N
XmlC14N

...

Função: XmlC14N

Nota
icontrue
titleAtenção

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

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

...

XML.

Sintaxe

Bloco de código
collapsefalse
XmlC14N( <
cXML>
 cXML >, <
cOption>
 cOption >, <
@cErro>
 @cError >, <
@cWarning> ) --> cRetXML 
 @cWarning > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cXML

...

caractere

Indica o conteúdo 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.

...

  • Caso a string XML seja válida, porém o processo de canonicalização não seja completo com sucesso, a função retornará 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".

Exemplos

  • 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. 
  • Bloco de código
    languagecpp
    themeEclipse
    titleExemplo 1
    linenumberstrue
    collapsefalse
    Importante

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

     

    Exemplos
    User function tstC14N()

    
      Local cError := ""

    
      Local cWarning := ""

    
      Local cXml := 
    memoread
    MemoRead( "\xml\example.xml" )

    
      Local cXmlRet := ""

    
      
      cXmlRet := XmlC14N( cXML , "" , @cError, @cWarning
    )
    if
     )
      
      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