XMLDECOD: Como Decodificar Caracteres Codificados para XML

Como:

A função XMLDECOD decodifica os cinco caracteres padrão codificados para XML a seguir quando são localizados em uma string:

Nome do Caractere

Caractere

Representação Codificada para XML

ampersand

&

&

maior que o símbolo

>

>

menor que o símbolo

<

&lt;

aspas duplas

"

&quot;

aspas simples (apóstrofo)

'

&apos;



x
Sintaxe: Como Decodificar Caracteres Codificados para XML
XMLDECOD(inlength, source_string, outlength,  output)

onde:

inlength

Inteiro

É o comprimento do campo que contém a string fonte de caracteres, ou um campo que contém o comprimento.

source_string

Alfanumérico

É o nome do campo que contém a string de caracteres da fonte ou a string entre aspas simples (').

outlength

Inteiro

É o tamanho da string de saída, ou um campo que contém o tamanho.

saída

Inteiro

É o campo que contém o resultado ou o formato do valor de saída posto entre aspas simples.



Exemplo: Como Decodificar Caracteres Codificados para XML

O arquivo XMLFUNCS é um arquivo .csv que contém alguns caracteres não codificados e alguns caracteres XML. O Arquivo Master é:

FILE = XMLFUNCS, SUFFIX=COM,$
SEGNAME = SEG01, SEGTYPE=S1,$
FIELD=INSTRING, ALIAS=CHARS, USAGE=A30,ACTUAL=A30,$

O conteúdo do arquivo segue:

CHARS: &  < >  ,$
ENCODED: &amp; &gt;  ,$
ENCODED: &quot; &apos;   ,$
MIXED:  &amp;  < &gt;   ,$

XMLDECOD decodifica qualquer um dos caracteres codificados para XML com suporte. Observe que alguns visualizadores decodificam automaticamente os valores codificados para exibição, produzindo a saída no formato de texto simples (FORMAT WP):

FILEDEF XMLFUNCS DISK xmlfuncs.csv
DEFINE FILE XMLFUNCS
OUTSTRING/A30=XMLDECOD(30,INSTRING,30,'A30');
END
TABLE FILE XMLFUNCS
PRINT INSTRING OUTSTRING
ON TABLE PCHOLD FORMAT WP
ON TABLE SET PAGE NOPAGE

Na string de saída, caracteres codificados para XML foram decodificados, e os caracteres que não foram codificados permaneceram inalterados na string de entrada:

  INSTRING                        OUTSTRING          
  --------                        ---------                     
  CHARS: &  < >                   CHARS: &  < >                 
  ENCODED: &amp; &gt;             ENCODED: & >                  
  ENCODED: &quot; &apos;          ENCODED: " '                  
  MIXED:  &amp;  < &gt;           MIXED:  &  < >                

Information Builders