Árvore de páginas

Carregando...

O método retorna a canonicalização de um XML apontado pela string cXML.

Sintaxe

CanonicalC14N( < cXML >, [ cParam2 ], [ nOptions ], [ cNS ], [ nComments ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cXML

caractere

String contendo um XML em que será feita a canonicalização.

X


cParam2

caractere

Parametro para uso futuro. Passar Nil ou string vazia ("").



nOptions

numérico

Opção para alterar o comportamento da canonicalização. Valor padrão: 0(zero).



cNS

caractere

String contendo os namespaces que serão incluídos para a canonicalização. Valor padrão: Nil.



nComments

numérico

Valor que indica se os comentários serão removidos ou não na canonicalização. Valores: 0 (remove) ou 1 (não remove). Valor padrão: 0 (zero).



Retorno

Nome

Tipo

Descrição

cRet

caractere

String contendo o XML canonicalizado ou uma string vazia("") caso houve algum erro no processo.

Observações

Valores aceitos para o parâmetro nOptions:

0

Especificação Original C14N 1.0

1

Especificação Exclusive C14N 1.0

2

Especificação C14N 1.1

Valores aceitos para o parâmetro nComments:

0

Remove comentários

1

Não remove comentários

Exemplos

Exemplo 1
user function TXCanon()
  Local cXML := "", cNewXML := ""
  Local oXML
  
  oXML := TXMLManager():New()
  
  cXML := '<?xml version="1.0"?>' + CRLF
  cXML += CRLF
  cXML += '<?xml-stylesheet   href="doc.xsl"' + CRLF
  cXML += '   type="text/xsl"   ?>' + CRLF
  cXML += CRLF
  cXML += '<!DOCTYPE doc SYSTEM "doc.dtd">' + CRLF
  cXML += CRLF
  cXML += '<doc>Hello, world!<!-- Comment 1 --></doc>' + CRLF
  cXML += CRLF
  cXML += '<?pi-without-data     ?>' + CRLF
  cXML += CRLF
  cXML += '<!-- Comment 2 -->' + CRLF
  cXML += CRLF
  cXML += '<!-- Comment 3 -->' + CRLF
  
  if !oXML:Parse( cXML )
    conout( "Errors on Parse!" )
    return
  endif
  
  cNewXML := oXML:CanonicalC14N( cXML, , 0, , 0 )
  
  // Vai exibir ".F."
  conout( cNewXML == cXML )
  
  // Vai exibir
  // <?xml-stylesheet href="doc.xsl"
  //    type="text/xsl"   ?>
  // <doc>Hello, world!</doc>
  // <?pi-without-data?>
  // 
  conout( cNewXML )
  
  cNewXML := oXML:CanonicalC14N( cXML, , 0, , 1 )
  
  // Vai exibir ".F."
  conout( cNewXML == cXML )
  
  // Vai exibir
  // <?xml-stylesheet href="doc.xsl"
  //    type="text/xsl"   ?>
  // <doc>Hello, world!<!-- Comment 1 --></doc>
  // <?pi-without-data?>
  // <!-- Comment 2 -->
  // <!-- Comment 3 -->
  // 
  conout( cNewXML )
return
  • Sem rótulos