XMLENCOD : caractères codés XML

Comment :

La fonction XMLENCOD code les cinq caractères suivants lorsqu'ils sont rencontrés dans une chaîne :

Nom Caractère

Caractère

Représentation codée

esperluette

&

&

supérieur à symbole

>

>

inférieur à symbole

<

&lt;

guillemets doubles

"

&quot;

guillemet simple (apostrophe)

'

&apos;



x
Syntaxe : Caractères codés XML
XMLENCOD(inlength, source_string, option, outlength,  output)

où :

inlength

Entier

Est la longueur du champ contenant la chaîne de caractères source, ou un champ qui contient la longueur.

source_string

Alphanumérique

Est le nom du champ contenant la chaîne de caractères source ou la chaîne entourée de guillemets simples (').

option

Entier

Est le code qui spécifie si le traitement d'une chaîne contenant déjà des caractères codés XML doit être effectué. Voici les valeurs valables :

  • 0, par défaut, qui annule le traitement d'une chaîne contenant déjà au moins un caractère codé XML.
  • 1, qui traite une chaîne contenant des caractères codés XML.
outlength

Entier

Est la longueur de la chaîne de caractères de sortie, ou d'un champ qui contient la longueur.

Remarque : la longueur de sortie, dans le pire des cas, pourrait être six fois la longueur de la sortie.

output

Entier

est le champ qui contient le résultat, ou le format entier de la valeur de sortie entre guillemets simples.



Exemple : Caractères codés XML

Le fichier XMLFUNCS et un fichier .csv qui contient certains caractères non codés et certains caractères codés XML. Le fichier principal est :

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

Les contenus du fichier sont :

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

XMLENCOD code en est XML tous les caractères supportés pour produire OUTSTRING1, et traite chaque chaîne d'entrée qu'elles contiennent déjà des caractères codés XML ou pas. Pour OUTSTRING2, cette fonction ne code que les chaînes qui ne contiennent aucun caractère codé XML. Notez que certaines visionneuses décodent automatiquement les valeurs encodées pour affichage, de façon à ce que la sortie soit produite en format texte brut (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

Dans OUTSTRING1, les caractères supportés ont été codés XML, et la sortie est produite même si la chaîne d'entrée contient des caractères codés. OUTSTRING2 n'est produites que lorsqu'aucun caractère codé XML n'existe dans la chaîne d'entrée :

 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