Transformations JSON avec XSLT/XQuery

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 > JSON, Schéma JSON >

Transformations JSON avec XSLT/XQuery

Des mappages, des arrays et des objets JSON peuvent être ciblés avec des expressions XPath/XQuery 3.1. En résultat, les documents JSON peuvent être transformés avec des documents XSLT 3.0, XQuery 3.1 et XQuery Update 3.0 en utilisant les moteurs intégrés de XMLSpy.

 

Les fonctionnalités suivantes sont disponibles :

 

Un document JSON active peut être interrogé avec des expressions XPath/XQuery 3.1 depuis la fenêtre de sortie XPath/XQuery
Un document JSON actif peut être transformé avec un fichier XSLT iz XQuery sélectionné par l'utilisateur
Un document XSLT ou XQuery actif peut être exécuté sur un fichier de source JSON sélectionné par l'utilisateur

 

Ces fonctions sont décrites ci-dessous plus en détail.

 

Note :        Vous pouvez essayer les transformations JSON en utilisant les fichiers JSON, XSLT et XQuery dans le dossier Exemples JSON du projet Examples situé dans votre dossier d'application : \Examples.

 

Interroger un document JSON par le biais de la fenêtre de sortie XPath/XQuery

Les documents JSON peuvent être interrogés en saisissant une expression de requête XPath/XQuery 3.1 dans la fenêtre de sortie XPath/XQuery (voir la capture d'écran ci-dessous). Choisir soit l'icône XPath 3.1 ou l'icône XQuery 3.1, et s'assurer que la fenêtre se trouve dans le mode d'évaluation JSON (expliqué ci-dessous).

XPathXQueryWindow4JSON01

L'information donnée ci-dessous se rapporte aux évaluations des documents JSON dans le mode d'évaluation JSON. (Pour un aperçu de la fenêtre XPath/XQuery et des informations détaillée concernant son utilisation, voir la section Fenêtre de sortie : XPath/XQuery.)

 

Mode d'évaluation JSON

Le mode d'évaluation JSON est décrit par ces points :

 

La fenêtre XPath/XQuery sera soit dans le mode d'évaluation XML ou dans le mode d'évaluation JSON. Le mode actuellement actif est indiqué par la touche du mode actif illuminé. Voir les touches de mode d'évaluation XML/JSON dans la capture d'écran. Dans la capture d'écran, la fenêtre se trouve en mode d'évaluation JSON.
Dans la capture d'écran ci-dessus, veuillez noter que les touches XML et JSON sont grisées, indiquant qu'elles sont désactivées. Lorsque les touches sont désactivées, leur statut ; qu'il soit activé ou désactivé ; ne peut pas être modifié. Inversement, si les touches sont activées (pas grisées), alors le mode d'évaluation de la fenêtre peut être modifié.
L'état activé/désactivé des touches de mode d'évaluation XML/JSON dépend de l'étendue d'évaluation (la valeur du champ ; voir capture d'écran ci-dessus). Les valeurs d'étendue d'évaluation sont divisées en deux groupes pour la détermination de l'état activé/désactivé : (i) Fichier unique (Fichier actuel), et (ii) Fichiers multiples (Fichiers ouverts, Projet, Dossier).
Si, pour l'étendue d'évaluation, un fichier unique (Fichier actuel) est sélectionné (comme dans la capture d'écran ci-dessus), alors le mode de la fenêtre (JSON ou XML) est déterminé sur la base de l'extension du fichier. Soit le fichier est conforme à JSON, et dans ce cas, le mode d'évaluation JSON est activé ; ou le fichier n'est pas conforme à JSON, et le mode d'évaluation XML est activé. Puisque le type de fichier du fichier unique est connu, le mode d'évaluation approprié est activé et les deux touches sont désactivés de manière à ce que le mode ne puisse pas être modifié.
Si une option fiches multiple (Fichiers ouverts, Projet, Dossier) est sélectionnée, les deux touches de mode d'évaluation sont activés, et l'utilisateur peut sélectionner le mode à activer (JSON ou XML). Le mode d'évaluation par défaut pour une étendue pour fiches multiples est XML.
Dans le mode d'évaluation XML, les fichiers conformes à XML seront traités et les fichiers JSON seront sautés.
Dans le mode d'évaluation JSON, les fichiers conformes à JSON seront traités et les fichiers XML seront sautés.
Les expressions JSON peuvent aussi être interrogées dans le Mode Débogage.

 

L'expression XPath/XQuery

Dans les expressions XPath/XQuery, utiliser des fonctions qui sont valides pour interroger des documents JSON, comme l'opérateur de consultation et les fonctions d'array. Veuillez noter les points suivants :

 

La fonction Définir la sélection actuelle dans le document en tant qu'origine est désactivé. En conséquence, les expressions doivent être absolues et ne peuvent pas être relatives.
Lorsque vous saisissez l'expression, le remplissage automatique fournit des options de remplissage sensibles au contexte (voir capture d'écran ci-dessous).

XPXQWindowJSONAutoComplete

L'icône Copier XPath de la sélection actuelle à éditer crée une expression XQuery qui cible la sélection dans le document JSON actif et le copie dans le champ d'édition. Pour effectuer une sélection dans le document JSON, placer le curseur dans un objet ou sélectionner une partie d'un objet.

 

Ci-dessous, vous trouverez deux expressions XPath/XQuery qui ont été utilisées pour interroger le document JSON MusicLibrary.json (voir capture d'écran ci-dessous), que vous pouvez trouver dans le projet Examples situé dans votre dossier d'application : \Examples.

Click to expand/collapse

 

Expression XPath/XQuery : ?Artists?1?Albums?2?Name

XPXQWindowJSON01

Expression XPath/XQuery : ?*

XPXQWindowJSON02

 

Résultats

Les résultats montrent le composant JSON sélectionné par l'expression XPath/XQuery dans le côté gauche du volet Résultats, et la valeur du composant dans le côté droit du volet. Les mappages et les arrays sont affichés en bref ou en format verbeux selon que l'icône Afficher le résultat complet situé dans la barre d'outils est activée ou désactivée. Les mappages et les arrays situés dans le côté gauche du volet peuvent être agrandis en cliquant sur l'icône 'Plus'. Les valeurs des composants agrandis seront ensuite affichés dans le côté droit du volet.

 

Transformer un document JSON avec XSLT/XQuery

Pour transformer un document JSON actif avec un document XSLT 3.0, XQuery 3.1 ou XQuery Update 3.0, procéder comme suit :

 

Transformation XSLT 3.0 : cliquer sur Transformation XSL/XQuery | XSL, chercher le fichier XSLT 3.0, et cliquer sur OK.
Transformation XQuery 3.1 ou XQuery Update 3.0 : cliquer sur Exécution XSL/XQuery | XQuery/Update, chercher le fichier XQuery 3.1 ou XQuery Update 3.0, et cliquer sur OK.

 

Les documents transformés seront générés et peuvent être consultés directement dans XMLSpy.

 

Note :Le Débogueur XSLT/XQuery peut être lancé depuis un document JSON, mais les points de rupture et les points de trace peuvent être définis uniquement dans le document XSLT ou XQuery.

 

Fournir une source JSON pour un document XSLT/XQuery

Pour exécuter un document XSLT ou XQuery actif sur un fichier source JSON, procéder comme suit :

 

Document XSLT 3.0 actif : cliquer sur Transformation XSL/XQuery | XSL, chercher le fichier JSON, et cliquer sur OK.
Document XQuery 3.1 ou XQuery Update 3.0 actif : cliquer sur Exécution XSL/XQuery | XQuery/Update, chercher le fichier JSON, et cliquer sur OK.

 

Les documents transformés seront générés et peuvent être consultés directement dans XMLSpy.

 

Note :Le Débogueur XSLT/XQuery peut être lancé depuis un document XSLT ou XQuery et un document JSON peut être attribué en tant qu'entrée pour la session de débogage. Néanmoins les points de rupture et les points de trace peuvent être définis uniquement dans le document XSLT ou XQuery.

 

 


© 2018 Altova GmbH