Valider XML

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Manuel de l'utilisateur et référence > Commandes de menu  > Menu XML >

Valider XML

ic_validate        F8

La commande XML | Valider (F8) vous permet de valider des documents XML par rapport à des DTD, des Schémas XML et d'autres. La validation est effectuée automatiquement lorsque vous passez du Mode Texte à un autre mode. Vous pouvez spécifier qu'un document soit automatiquement validé lorsqu'un fichier est ouvert ou enregistré (Outils | Options | Fichier). La commande Valider effectue aussi une vérification de la bonne formation avant de vérifier la validité, il n'est donc pas nécessaire d'utiliser la commande Vérifier la bonne formation avant d'utiliser la commande Valider.

 

Si un document est valide, un message de réussite de la validation est affiché dans la fenêtre Messages.

valid

Sinon, un message qui décrit l'erreur est affiché. Vous pouvez cliquer sur les liens dans le message d'erreur pour passer au nœud dans le document XML où l'erreur a été trouvée. Voir la section suivante pour voir une description du message d'erreur et pour consulter comment réparer les erreurs de validation avec les smart fixes de XMLSpy.

 

Erreurs de validation et leurs réparations

Lorsqu'une erreur de validation est affichée dans la fenêtre Messages, les causes de l'erreur sont affichées dans le volet de gauche (voir capture d'écran ci-dessous). Si une cause est sélectionnée dans le panneau de gauche, les smart fixes, si disponibles, sont affichés dans le volet de droite. Des suggestions de Smart fix sont disponibles dans le Mode Texte et le Mode Grille, et sont basées sur des informations se trouvant dans le schéma associé. Pour consulter les smart fixes, cliquer sur la touche Afficher Smart Fix. Cliquer sur Dissimuler Smart Fix si vous ne souhaitez pas que ces suggestions soient affichées. Veuillez noter que les erreurs de bonne formation (comme des balises de démarrage et de fin qui ne correspondent pas), le cas échéant, sont affichées avant que les erreurs de validation soient affichées. Donc la touche Afficher/Dissimuler Smart Fix sera activée uniquement lorsqu'une erreur de validation sera atteinte (c'est à dire, après que toutes les erreurs de bonne formation aient été corrigées).

 

Click to expand/collapse

Pour appliquer un smart fix, soit (i) le double-cliquer, ou (ii) le sélectionner et cliquer soit sur les options Réparer ou Réparer + Valider (voir capture d'écran ci-dessous). La commande Réparer + Valider validera outre l'erreur fixée et choisira l'erreur suivante, le cas échéant.

ValidateXMLAutoFix

Dans le Mode Texte, il existe deux indicateurs supplémentaires d'une erreur de validation (voir capture d'écran ci-dessous): (i) un point d'exclamation rouge dans la marge de numérotation des lignes, et (ii) un carré rouge dans la barre de défilement (à la droite de la fenêtre).

TextViewValErrorIndicators

L'icône de l'ampoule jaune placée à côté du point d'exclamation (capture d'écran ci-dessous) est l'icône du smart-fix. Si vous passez la souris par-dessus, tous les smart fixes de toutes les causes de l'erreur s'afficheront (voir capture d'écran ci-dessous). Choisir un smart fix pour l'appliquer.

TextViewValErrorSmartFixes

Note :Les indicateurs d'erreur de validation et les smart fixes décrits ci-dessus sont réinitialisés uniquement lorsque la commande XML | Valider (F8) est exécutée ; ils ne sont pas mis à jour en arrière-plan. Donc, après avoir corrigé une erreur, vous devez exécuter à nouveau la commande Valider (F8) pour vous assurer que l'erreur a bien été réparée.

 

Note :La fenêtre Messages a neuf onglets. Le résultat de validation est toujours affiché dans l'onglet actif. Donc vous pouvez valider un document XML dans l'onglet 1 et conserver le résultat dans l'onglet. Pour valider un second document, passer à l'onglet 2 (ou l'onglet 3 si vous préférez) avant d'effectuer le contrôle. Si vous ne souhaitez pas changer d'onglets, l'onglet 1 (ou l'onglet actif) sera écrasé avec les résultats de la dernière validation.

 

Valider depuis la fenêtre Projet

La commande Valider peut aussi s'appliquer à un fichier, dossier ou un groupe de fichiers dans le projet actif. Choisir le fichier ou le dossier requis dans la fenêtre Projet (en cliquant dessus). Puis cliquer sur XML | Valider ou F8. Les fichiers invalides se trouvant dans un projet seront ouverts et rendus actifs dans la Fenêtre principale, et le message Fichier n'est pas valide s'affichera.

 

Valider des documents XML

Pour valider un fichier XML, rendre le document XML actif dans la Fenêtre principale et cliquer sur XML | Valider ou F8. Le document XML est validé par rapport au schéma référencé dans le fichier XML. Si aucune référence n'existe, un message d'erreur s'affichera dans la fenêtre Messages. Tant que le document XML est ouvert, le schéma est conservé dans la mémoire (voir Flush Memory Cache dans le menu DTD/Schéma).

 

Valider des documents de schéma (DTD et Schéma XML)

XMLSpy prend en charge les dialectes de schéma principaux, y compris les DTD et les Schémas XML. Pour valider un document de schéma, rendre le document actif dans la Fenêtre principale et cliquer sur XML | Valider ou F8.

 

Messages de validation

Il existe deux types de messages :

 

Si le schéma (DTD ou XML) est valide, un message de réussite de la validation est affiché dans la fenêtre Messages.
Si le schéma n'est pas valide, un message d'erreur est affiché dans la fenêtre Messages (capture d'écran ci-dessous).

Click to expand/collapse

Un message d'erreur affiche chaque cause possible de cette erreur séparément. Par exemple, dans la capture d'écran ci-dessus, quatre causes possibles d'erreur de validation sont rapportées ; la première est agrandie, les trois autres sont réduites. Chaque cause est divisée en trois parties :

 

1.  Une description de la cause possible. La description contient des liens vers la définition pertinente dans le document de schéma associé. Vous pouvez vous rendre rapidement à la définition de schéma spécifique pour voir quelle était la raison exacte de l'invalidité du document.

2.  Le chemin d'emplacement vers le nœud dans le document XML qui a entraîné l'erreur. Cliquer sur un nœud dans ce chemin d'emplacement pour marquer ce nœud dans le document.

3.  Vous trouverez des informations détaillées concernant l'erreur et un lien menant au paragraphe pertinent dans la spécification de schéma. C'est là que les règles de schéma qui spécifient la légalité pertinente sont spécifiées.

 

Note :Si la validation est effectuée dans le Mode Texte, cliquer sur un lien dans la Fenêtre Messages pour marquer la définition correspondante dans le Mode Texte. Si la validation est effectuée dans le Mode Schéma, cliquer sur un lien de définition pour ouvrir la définition dans le Mode Schéma et vous permettre d'éditer le composant directement.

 

Catalogues

XMLSpy prend en charge un sous-ensemble du mécanisme de catalogues XML OASIS. Le mécanisme permet à XMLSpy d'extraire des schémas communément utilisés (ainsi que des feuilles de style et autres fichiers) depuis des dossiers d'utilisateur locaux. Cela augmente la vitesse de traitement générale, permet aux utilisateurs de travailler hors ligne (c'est à dire, sans être connectés à un réseau), et améliore la portabilité des documents (parce que les URI doivent uniquement être changés dans les fichiers de catalogue.) Le mécanisme de catalogue dans XMLSpy fonctionne comme suit :

 

XMLSpy charge un fichier appelé RootCatalog.xml, qui contient une liste des fichiers de catalogue qui seront consultés. Vous pouvez saisir autant de fichiers de catalogue que vous souhaitez regarder, chacun se trouvant dans un élément nextCatalog dans RootCatalog.xml.
Les fichiers de catalogue inclus dans RootCatalog.xml sont consultés et les URI sont résolues conformément aux mappages spécifiés dans les fichiers de catalogue. Faites attention à ne pas dupliquer les mappages, cela pourrait entraîner des erreurs.
Deux fichiers de catalogue sont fournis avec XMLSpy. Vous trouverez une description de leur fonctionnement dans la section Catalogues dans XMLSpy.
L'identifiant PUBLIC ou SYSTEM dans l'instruction DOCTYPE de votre fichier XML sera utilisé pour la consultation du catalogue. En ce qui concerne des schémas populaires, l'identifiant PUBLIC est généralement prédéfini, il suffit donc de changer l'URI dans le fichier de catalogue lorsque des documents XML sont utilisés sur plusieurs machines.

 

Lors de la rédaction de votre fichier CustomCatalog.xml (ou de tout autre fichier de catalogue personnalisé), utilisez uniquement un sous-ensemble du catalogue OASIS afin que XMLSpy puisse traiter le catalogue correctement. Chacun des éléments dans le sous-ensemble pris en charge peut prendre l'attribut xml:base, qui est utilisé pour spécifier l'URI de base de cet élément.

 

<catalog...>

...

<public publicId="PublicID of Resource" uri="URL of local file"/>

<system systemId="SystemID of Resource" uri="URL of local file"/>

<rewriteURI uriStartString="StartString of URI to rewrite" rewritePrefix="String to replace StartString"/>

<rewriteSystem systemIdStartString="StartString of SystemID" rewritePrefix="Replacement string to locate resource locally"/>

<uri name="filename" uri="URL of file identified by filename"/>

...

</catalog>

 

Note :

 

Le fichier catalog.xml dans le dossier %AltovaCommonFolder%\Schemas\schema contient des références aux DTDs qui mettent en place des spécifications de schéma XML plus anciennes. Vous ne devriez pas valider vos documents de Schéma XML par rapport à un de ces schémas. Les fichiers DTD référencés sont uniquement inclus pour offrir à XMLSpy des infos d'assistants à la saisie à des fins d'édition si vous souhaitez créer des documents conformément à ces recommandations plus anciennes. Voir point suivant également.
Si vous créez une extension de fichier personnalisé pour un schéma particulier (par exemple, l'extension .myhtml pour les fichiers (HTML) qui doivent être valides conformément au DTD HTML), alors vous pourrez activer une édition intelligente pour les fichiers comportant ces extensions en ajoutant une ligne de texte à CustomCatalog.xml. En ce qui concerne l'extension d'exemple mentionnée plus haut, vous devriez ajouter l'élément <spy:fileExtHelper ext="myhtml" uri="schemas/xhtml/xhtml1-transitional.dtd"/> en tant qu'un enfant de l'élément <catalog>. Cela permettra à l'édition intelligente (remplissage automatique, assistants à la saisie, etc) des fichiers .myhtml dans XMLSpy conformément au DTD Transitionnel XHTML 1.0.
Pour plus d'informations concernant les catalogues, voir la spécification de catalogues XML.

 

Automatisation de la validation avec RaptorXML  2019

RaptorXML est l'application autonome d'Altova pour une validation XML, une transformation XSLT et une transformation XQuery. Elle peut être utilisée depuis la ligne de commande, par le biais d'une interface COM, dans des programmes Java et dans les applications .NET. Les tâches de validation peuvent donc être automatisées avec l'utilisation de RaptorXML. Par exemple, vous pouvez créer un fichier batch qui appelle RaptorXML pour effectuer une validation sur un ensemble de documents et envoie la sortie dans un fichier texte. Voir la documentation RaptorXML pour plus de détails.

 


© 2018 Altova GmbH