Aller au contenu principal
Version: Next

DOM EXPORT TO VAR

DOM EXPORT TO VAR ( refElément ; vVarXml )

ParamètreTypeDescription
refElémentChaîne🡒Référence d’élément XML racine
vVarXmlTexte, BLOB🡘Variable devant recevoir l’arbre XML

Description

La commande DOM EXPORT TO VAR permet de sauvegarder un arbre XML dans une variable texte ou BLOB.

Passez dans refElément la référence de l’élément racine à exporter.

Passez dans vVarXml le nom de la variable devant contenir l’arbre XML. Cette variable peut être de type Texte ou BLOB. Vous pouvez choisir le type en fonction des opérations à effectuer par la suite ou de la taille que l’arbre peut atteindre (rappelons qu'en mode Non unicode les variables de type Texte sont limitées à 32 K de texte, en mode Unicode cette limite est de 2 Go).

Attention, en mode Non unicode si vous utilisez une variable Texte pour stocker l'élément refElément, il sera encodé en Mac “courant” (c'est-à-dire Mac Roman sur la plupart des systèmes occidentaux). Cela signifie que le texte retourné ne sera plus dans l'encodage d'origine (encoding="xxx"). Dans ce cas, la variable vVarXml permet de visualiser ou de stocker le code obtenu mais PAS de générer un document XML valide (via la commande SEND PACKET par exemple).

En mode Unicode, l'encodage d'origine est conservé dans la variable.

Notes sur le traitement des caractères de fin de ligne et des BOM

En XML, les sauts de ligne ne sont pas significatifs, qu'ils soient présents à l'intérieur ou entre des éléments XML. En interne, le XML utilise des caractères normalisés LF comme séparateurs de lignes.

Lors des opérations d'import et d'export, les caractères de saut de ligne peuvent être convertis. Lors d'un import, le parseur XML remplace les caractères CRLF (sauts de ligne standard sous Windows) par des caractères LF. Pendant l'export, les caractères LF sont remplacés par des caractères CRLF sous Windows (pas de remplacement sous macOS).

Note : Si vous souhaitez conserver les retours chariot, vous devez les inclure dans un élément XML CDATA afin qu'ils ne soient pas traités par l'analyseur XML. Vous pouvez également utiliser le caractère "
", qui est un retour chariot explicite qui ne sera pas traité par le parseur en lieu et place des caractères CRLF.

Par défaut, les fichiers XML sont écrits sans BOM (Byte order mask).

Vous pouvez contrôler le traitement des fins de ligne XML et du BOM à l'aide de la commande XML SET OPTIONS.

Note de compatibilité : Dans les bases /projets créés avec des versions de 4D allant jusqu'à la v19.x, 4D utilise par défaut CR comme caractère de fin de ligne sur macOS et ainsi qu'un BOM. Pour activer les nouveaux paramètres par défaut, vérifiez les paramètres de compatibilité (voir la page Compatibilité) ou utilisez la commande XML SET OPTIONS.

Exemple

Cet exemple sauvegarde l’arbre vRefElem dans une variable texte :

 var vtMonTexte : Text
 DOM EXPORT TO VAR(vRefElem;vtMonTexte)

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 (par exemple, si la référence de l’élément n’est pas valide).

Voir aussi

DOM EXPORT TO FILE
SVG EXPORT TO PICTURE