Téléchargement des produits


Version anglaise


 


ADELIA

VADELIA

SADELIA

WADELIA

EADELIA

(I/B)

(I/B) (C/S)

(B) (S)

(I/B) (C/S)

(B) (C/S)



Paragraphe d'utilisation

Tous.


Syntaxe

XML_OUVRIR NomIdentifiantXml  ModeOuverture  DocumentXML  version  encodage  TypeDoc  Verification Autonome


ModeOuverture

*LECTURE|*ECRITURE|*LECT_ECRIT




DocumentXml

NomFichierXML | VariableDocument




version

*VERSION(<ConstanteAlpha> | <VariableAlpha>) | Rien




encodage

*ENCODAGE_FIC(<ConstanteAlpha> | <VariableAlpha>) | *CONV_UTF8 | Rien




TypeDoc

*TYPE_DOC(NomDTDSysteme | NomDTDPublique  URI_DTDPublique) | Rien




Verification

*VERIFIER | *VERIFIER(<ConstanteAlpha> | <VariableAlpha>) | Rien

NomDTDSysteme
NomDTDPublique
URI_DTDPublique
 

<ConstanteAlpha> | <VariableAlpha>

NomFichierXML
 

<ConstanteAlpha> | <VariableAlpha>

VariableDocument

*VAR_DOC(<VariableAlpha>|<VariableImage>) | <VariableImage>

Autonome

*AUTONOME | Rien



Description

Ouvre le fichier XML dont le nom est contenu dans une constante alphanumérique ou dans une variable alphanumérique. Si *VAR_DOC ou une variable de type IMAGE est indiquée, l'ordre ne porte pas sur un fichier mais c'est la variable IMAGE ou la variable Alphanumérique qui contient le document XML.


En mode lecture, ou lecture/écriture, il faut indiquer pour les paramètres facultatifs *VERSION, *ENCODAGE_FIC et *TYPE_DOC des noms de variables dans lesquelles la version, l'encodage et la définition du type (DTD) du document XML seront chargés.


En mode écriture, le fichier est créé s'il n'existe pas, ou réinitialisé s'il existe déjà. La version (paramètre *VERSION), l'encodage (paramètre *ENCODAGE_FIC) ainsi que la définition du type de document (DTD : paramètre *TYPE_DOC) peuvent être indiqués, en utilisant des constantes ou des variables alphanumériques. Si *VERIFIER est précisé, le contrôle sera effectué à la fermeture du fichier XML. Si un fichier DTD est spécifié, la validation se fera par rapport à ce fichier, sinon elle se fera par schéma.


L'encodage par défaut est UTF-8.


Le paramètre d'encodage *CONV_UTF8 n'est possible que si le document XML est contenu dans une variable alphanumérique ( *VAR_DOC(<VariableAlpha>)). Avec ce paramètre, en mode lecture, le contenu de la variable "document XML" variableAlpha est converti de la page de code locale vers l'UTF-8 avant d'être transmis au "parser" XML qui l'analysera comme un document XML ayant un encodage en UTF-8. En mode écriture, le document est géré comme un document ayant un encodage UTF-8, mais à la fermeture, le document XML produit converti depuis l'UTF-8 vers la page de code locale est récupéré dans VariableAlpha.


Si l'identifiant XML est de type *SEQ, le seul mode autorisé est *LECTURE, l'option *VERIFIER est interdite, et on ne peut pas indiquer une variable image comme document à ouvrir.


Le paramètre *AUTONOME permet de forcer la déclaration STANDALONE = "yes" dans le document XML. Il indique que le document est autonome (si le document XML a une DTD et STANDALONE = "yes", la DTD est utilisée uniquement pour validation).


Remarque :

Dans le cas des DTD système et des schémas XML référencés par un simple nom de fichier :

    • Sur les plateformes Windows, il faut que le fichier DTD référencé dans le DOCTYPE, ou le fichier schéma XML référencé dans l'un des deux attributs noNamespaceSchemaLocation ou schemaLocation, soit présent dans le répertoire courant ou dans le même répertoire que le fichier XML.
       
    • Sur les plateformes Java, il faut que :
      • le fichier DTD référencé dans le DOCTYPE soit dans le répertoire courant de l'utilisateur,
      • le fichier schéma XML référencé dans l'un des deux attributs noNamespaceSchemaLocation ou schemaLocation, soit présent dans le répertoire courant de l'utilisateur ou dans le même répertoire que le fichier XML.


Après l'exécution de cet ordre, le mot réservé *CODE_RETOUR peut prendre les valeurs suivantes :

0 (*NORMAL)

L'ouverture s'est bien déroulée.

1

Erreur : le fichier est déjà ouvert.

2

Fichier non trouvé ou non conforme à la syntaxe XML. Sur les plateformes Java, cette erreur peut également survenir lorsque le fichier DTD indiqué dans le fichier ou dans l'ordre n'a pas été trouvé.

9

Erreur : le fichier ne respecte pas les règles du fichier DTD indiqué.

12

Erreur : le fichier DTD indiqué dans le fichier ou dans l'ordre n'a pas été trouvé (plateformes Windows).

20

Le fichier a été ouvert sans vérification, bien que *VERIFIER ait été indiqué, car le fichier n'a pas de section DOCTYPE ou n'a pas de schéma.

21

Erreur : le fichier schéma spécifié dans le fichier XML est introuvable ou incorrect.

22

La validation du fichier XML par son schéma a provoqué des erreurs.


Par exemple

XML_OUVRIR Xml1  *LECTURE  'C:\temp\MonFichier.xml' VERSION(WVERSION)


FICHIER = 'c:\tmp\debugjca.xml'

XML_OUVRIR xml1  *ECRITURE  FICHIER *version('1.0')  *TYPE_DOC('AdelDBG.dtd')  *VERIFIER


ALPHA(2000) DOC_XML

XML_OUVRIR Xml1  *LECTURE  *VAR_DOC(DOC_XML) *VERSION(WVERSION)


Autre exemple :


Soit le fichier XML 'c:\temp\Monfichier.xml', composé ainsi :

<?xml version="1.0" ?>

<root xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocation="control.xsd">

...

</root>


XML_OUVRIR Xml1 *LECTURE 'c:\temp\Monfichier.xml' *VERIFIER


Pour que la vérification en regard du fichier schéma XML control.xsd aboutisse, ce dernier doit se trouver :

- soit dans le répertoire courant de l'application (ou répertoire courant de l'utilisateur en java ; propriété système user.dir),

- soit dans le répertoire c:\temp (c'est-à-dire le répertoire où se trouve le fichier Monfichier.xml).


Des alternatives sont possibles pour spécifier précisément l'emplacement du fichier schéma XSD :


(1) Utilisation d'un chemin absolu

Exemple :

xsi:noNamespaceSchemaLocation="c:\mesxsd\control.xsd"


(2) Utilisation d'une URL

Exemple :

xsi:noNamespaceSchemaLocation="http://mondomaine/mesxsd/control.xsd"


(3) Spécification du chemin directement dans le programme

Exemple :

XML_OUVRIR  Xml1 *LECTURE 'c:\temp\Monfichier.xml' *VERIFIER( 'http://mondomaine/mesxsd/control.xsd ')

Dans ce cas on passe outre les éventuelles balises de Monfichier.xml pour forcer la vérification au regard du XSD spécifié.



↑ Haut de page

  • Aucune étiquette