Atençã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
XmlC14N( < cXML >, < cOption >, < @cError >, < @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
Exemplo 1
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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas