XMLDECOD: Caratteri di codifica XML

Come:

La funzione XMLDECOD codifica i seguenti cinque caratteri standard quando si incontra una stringa:

Nome Carattere

Carattere

Rappresentazione Codificata

"e" commerciale

&

&

superiore al simbolo

>

>

inferiore al simbolo

<

&lt;

virgolette doppie

"

&quot;

virgolette singole (apostrofo)

'

&apos;



x
Sintassi: Come codificare caratteri XML
XMLENCOD(inlength, source_string, option, outlength,  output)

dove:

inlength

Valore intero

Lunghezza del campo contenente la stringa di caratteri di origine, o di un campo che contiene la lunghezza.

source_string

Alfanumerico

Il nome del campo contenente la stringa caratteri di origine o la stringa racchiusa tra virgolette singole (').

opzione

Valore intero

Un codice che specifica se elaborare una stringa che già contiene caratteri codificati XML. I valori validi sono:

  • 0, il predefinito, che annulla l'elaborazione di una stringa che già contiene almeno un carattere codificato XML.
  • 1, che elabora una stringa che contiene caratteri codificati XML.
outlenght

Valore intero

Lunghezza della stringa di caratteri di emissione o del campo che contiene la lunghezza.

Nota: La lunghezza di emissione, nel caso peggiore, potrebbe essere sei volte la lunghezza dell'immissione.

emissione

Valore intero

Il campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole.



Esempio: Caratteri Codificati XML

Il file XMLFUNCS è un file cvs che contiene alcuni caratteri non codificati e alcuni caratteri codificati XML. Il file principale è:

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

I contenuti del file seguono:

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

XMLENCOD XML codifica qualsiasi carattere non supportato per produrre OUTSTRING1 ed elaborare ogni stringa di immissione, indipendetemente se già contiene caratteri codificati XML o meno. Per OUTSTRING2, si codificano solo quelle stringhe che non contengono nessun carattere codificato XML. Notare che alcuni viewer decodificano automaticamente i valori codificati per la visualizzazione, per consentire la procedura dell'emissione in un formato testo semplice (FORMAT WP):

FILEDEF XMLFUNCS DISK xmlfuncs.csv
DEFINE FILE XMLFUNCS
OUTSTRING1/A30=XMLENCOD(30,INSTRING,1,30,'A30');
OUTSTRING2/A30=XMLENCOD(30,INSTRING,0,30,'A30'); 
END
TABLE FILE XMLFUNCS
PRINT INSTRING OUTSTRING1 IN 24 OUTSTRING2 IN 48
ON TABLE SET PAGE NOPAGE
ON TABLE PCHOLD FORMAT WP
END

In OUTSTRING1, i caratteri supportati sono stati codificati XML e si produce l'emissione anche se la stringa di emissione contiene caratteri codificati. OUTSTRING2 si produce solo quando non è presente nessun carattere codificato xml nella stringa di immissione:

 INSTRING               OUTSTRING1              OUTSTRING2   
 --------               ----------              ----------              
 CHARS: &  < >          CHARS: &amp;  &lt; &gt; CHARS: &amp;  &lt; &gt; 
 ENCODED: &amp; &gt;    ENCODED: &amp; &gt;                             
 ENCODED: &quot; &apos; ENCODED: &quot; &apos;                          
 MIXED:  &amp;  < &gt;  MIXED:  &amp;  &lt; &gt;

WebFOCUS