TXmlManager:CanonicalC14N
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
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