SAX ADD XML ELEMENT VALUE
SAX ADD XML ELEMENT VALUE ( document ; données {; *} )
Paramètre | Type | Description | |
---|---|---|---|
document | Time | → | Référence du document ouvert |
données | Text, Variable | → | Texte ou variable à insérer dans le document |
* | Opérateur | → | Si passé = Encoder les caractères spéciaux en mode 'XML Données brutes' |
Description
La commande SAX ADD XML ELEMENT VALUE ajoute directement dans le document XML référencé par document des données sans les convertir. Cette commande équivaut par exemple à insérer une pièce jointe dans le corps (body) d’un email.
Vous pouvez passer dans le paramètre données soit directement une chaîne de caractères, soit une variable 4D. Le contenu de la variable sera converti en texte pour pouvoir être inséré dans le document XML.
Si vous souhaitez encoder le contenu de données, vous devez utiliser la commande BASE64 ENCODE. Dans ce cas bien entendu, vous devez passer un BLOB dans données.
Par défaut, la commande encode les caractères spéciaux (< > ” ’...) contenus dans le paramètre données, sauf si vous avez désactivé ce mécanisme pour le process courant à l'aide de la commande XML SET OPTIONS en passant la valeur XML raw data à l'option XML string encoding. Par exemple :
XML SET OPTIONS($refDoc;XML string encoding;XML raw data)
Dans ce contexte, pour forcer l'encodage des caractères spéciaux lors de l'appel de SAX ADD XML ELEMENT VALUE, il est nécessaire de passer le paramètre facultatif *.
Pour que cette commande fonctionne, un élément doit être ouvert. Dans le cas contraire, une erreur est générée.
Exemple
Cet exemple insère le fichier whitepaper.pdf dans l’élément XML ouvert :
var vBMonBLOB : Blob
DOCUMENT TO BLOB("c:\\whitepaper.pdf";vBMonBLOB)
SAX ADD XML ELEMENT VALUE($RefDoc;vBMonBLOB)
Variables et ensembles système
Si la commande a été exécutée correctement, la variable système OK prend la valeur 1, sinon elle prend la valeur 0 et une erreur est générée.