Aller au contenu principal
Version: Next

SAX ADD XML ELEMENT VALUE

SAX ADD XML ELEMENT VALUE ( document ; données {; *} )

ParamètreTypeDescription
documentTimeRéférence du document ouvert
donnéesText, VariableTexte ou variable à insérer dans le document
*OpérateurSi 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.

Voir aussi

SAX GET XML ELEMENT VALUE
XML SET OPTIONS

Propriétés

Numéro de commande855
Thread safe
Modifie les variablesOK