4D v16.3

DOM Parse XML variable

Accueil

 
4D v16.3
DOM Parse XML variable

DOM Parse XML variable 


 

DOM Parse XML variable ( variable {; validation {; dtd | schéma}} ) -> Résultat 
Paramètre Type   Description
variable  BLOB, Texte in Nom de la variable
validation  Booléen in Vrai = Validation, Faux = Pas de validation
dtd | schéma  Chaîne in Emplacement de la DTD ou du schéma XML
Résultat  Chaîne in Référence de l’élément XML

La commande DOM Parse XML variable analyse une variable de type BLOB ou Texte contenant une structure XML et retourne une référence pour cette variable. La commande peut valider ou non la structure via une DTD ou un schéma XML (document XSD, XML Schema Definition). le document.

Passez dans le paramètre variable le nom de la variable BLOB ou Texte contenant l’objet XML.

Le paramètre booléen validation vous permet d’indiquer si vous souhaitez que la structure soit validée ou non.

  • Si validation vaut Vrai, la structure sera validée. Dans ce cas, l’analyseur tentera de valider la structure XML du document sur la base de la référence DTD ou XSD incluse dans le document, ou via la DTD ou le schéma XML désigné(e) par le troisième paramètre s'il est passé.
  • Si validation vaut Faux, la structure ne sera pas validée.

Si vous passez Vrai dans validation et omettez le troisième paramètre, la commande tentera de valider la structure XML via une référence DTD ou XSD trouvée dans la structure elle-même. La validation peut être indirecte : si la structure contient une référence vers une fichier DTD qui lui-même contient une référence vers un fichier XSD, la commande tentera d’effectuer les deux validations.

Le troisième paramètre vous permet de désigner une DTD spécifique ou un schéma XML pour l’analyse du document. Si vous utilisez ce paramètre, la commande ne tient pas compte de la DTD référencée dans le document XML.

Validation par DTD
Il existe deux moyens pour désigner une DTD :

  • en tant que référence. Il vous suffit pour cela de passer le chemin d’accès complet de la nouvelle DTD (extension “dtd”) dans le paramètre dtd. Si le document désigné ne contient pas de DTD valide, le paramètre dtd est ignoré et une erreur est générée.
  • directement dans un texte. Dans ce cas, si le contenu du paramètre débute par “<?xml”, 4D considérera qu’il s’agit de la DTD ; dans le cas contraire, 4D considérera qu’il s’agit d’un chemin d’accès.

Validation par schema
Pour valider le document via un schéma XML, il suffit de passer dans le troisième paramètre un fichier ou un URL d’extension“xsd” au lieu de “dtd”. La validation par schéma XML est considérée comme plus souple et plus puissante que la validation par DTD. Le langage des documents XSD est basé sur le langage XML. Les schémas XML prennent notamment en charge des types de données. Pour plus d’informations sur les schémas XML, reportez-vous à l’adresse http://www.w3.org/XML/Schema.

Si la validation ne peut être effectuée (pas de DTD ou d'XSD, URL incorrect, etc.), une erreur est générée. La variable système Error indique le numéro de l’erreur. Vous pouvez intercepter cette erreur à l’aide d’une méthode installée par la commande ON ERR CALL.

La commande retourne une chaîne de caractères (RefElément) constituant la référence en mémoire de la structure virtuelle de la variable. Cette référence devra être utilisée avec les autres commandes d’analyse XML.

Important : Une fois que vous n'en avez plus besoin, n'oubliez pas d'appeler la commande DOM CLOSE XML avec cette référence afin de libérer la mémoire.

Ouverture sans validation d’un objet XML situé dans une variable Texte 4D :

 C_TEXT(maVarTexte)
 C_TIME(vDoc)
 C_TEXT($ref_XML_Struct)
 
 vDoc:=Open document("Document.xml")
 If(OK=1)
    RECEIVE PACKET(vDoc;maVarTexte;32000)
    CLOSE DOCUMENT(vDoc)
    $ref_XML_Struct:=DOM Parse XML variable(maVarTexte)
 End if

Ouverture sans validation d’un document XML situé dans un BLOB 4D :

 C_BLOB(maVarBlob)
 C_TEXT($ref_XML_Struct)
 
 DOCUMENT TO BLOB("c:\\import.xml";maVarBlob)
 $ref_XML_Struct:=DOM Parse XML variable(maVarBlob)

Si la commande a été correctement exécutée, la variable système OK prend la valeur 1. Sinon, elle prend la valeur 0.



Voir aussi  

DOM CLOSE XML
DOM Parse XML source

 
PROPRIÉTÉS 

Produit : 4D
Thème : XML DOM
Numéro : 720

Cette commande modifie la variable système OKCette commande modifie la variable système ErrorCommande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Modifié : 4D 2004
Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)