<oXygen/> User Guide

Travailler avec le Debugger

Cette section explique le travail avec la perspective Debugger.

Débuter

Oxygen propose deux perspective, Éditeur et Debugger. Oxygen se lance par défaut avec la perspective Éditeur. On peut facilement passer de la perspective Éditeur à la perspective Debugger à tout moment durant une session de travail même lorsqu'aucun fichier n'a été ouvert. Pour lancer la perspective Debugger cliquez sur le bouton .

Contrairement à la perspective Éditeur, la perspective Debugger nécessite qu'au moins un document (XML) et une feuille de style (XSL) soient ouverts avant de pouvoir utiliser les fonctions de débogage. Ces fichiers peuvent être ouverts en étant dans la perspective Éditeur, avant de passer à la perspective Debugger, ou directement depuis la perspective Debugger. Ceci permet l'ouverture et la fermeture des deux types de fichier à toute étape dans une session de travail. Revenez à la perspective Éditeur en cliquant sur le bouton Éditeur .

En passant de la perspective Éditeur à la perspective Debugger, les fichiers déjà ouverts sont classés par extension dans les panneaux Vue du document source (XML) et Vue du document feuille de style (XSL).

Le débogage

Le débogage ci-dessous (voir Débogage typique), suppose que Oxygen est déjà en perspective Debugger avec au moins un document (XML) et une feuille de style (XSL) ouverts. Ce nombre de documents est minimal pour utiliser le débogage. Pour débuter avec le débogage XSLT quelques exemples sont offerts. Ils peuvent être trouvés dans le répertoire samples/debugger de votre installation de Oxygen.

Pendant qu'un débogage est en cours, il est conseillé de stopper l'exécution avant d'essayer d'éditer les documents source ou les feuilles de style. Éditer durant un débogage va afficher des informations inexactes dans Vue Information. L'exécution doit aussi être stoppée pour passer à la perspective Éditeur.

Durant l'exécution, la transformation est en cours, et par conséquent à chaque fois que le moteur de transformation atteint un nœud d'un fichier non encore ouvert, ce fichier sera ouvert dans son panneau respectif et le nœud sera surligné. Cela apparaît le plus souvent dans le cas de fichiers importés/inclus d'entités XML ou XSL.

Si des erreurs sont rencontrées durant le débogage, elles sont rapportées sur le panneau des résultats de Oxygen.

À la fin du débogage, seul le contenu des vues suivantes est préservé (toutes les autres vues sont effacées) :

Procédure 6.1. Débogage typique

  1. À partir de Vue du document source (XML) sélectionnez un document source.

  2. À partir de Vue du document feuille de style (XSL) sélectionnez un document feuille de style.

  3. À partir de Barre d'outils du contrôle utilisez le contrôle Sélecteur de source XML pour sélectionner un document source.

  4. À partir de Barre d'outils du contrôle utilisez le contrôle Sélecteur de feuille de style XSL pour sélectionner une feuille de style.

  5. À partir de Barre d'outils du contrôle utilisez le contrôle Sélecteur de moteur XSLT pour sélectionner un des moteurs de traitement disponibles.

  6. Configurez le Paramètres XSLT. Une fois réglés, ces paramètres sont préservés entre les sessions de débogage.

  7. Lancez le débogage en utilisant les boutons de contrôle actifs (voir Vue de Contrôle pour une description des fonctions de contrôle).

Comprendre les vues des informations

Des informations détaillées sur le statut du débugger sont offertes en utilisant les vues.

Vue de nœud contextuel

Le nœud contextuel est un nœud source correspondant à l'expression XSL actuellement évaluée. Il est aussi appelé le contexte d'exécution. Le nœud contextuel change implicitement lorsque le processeur passe différentes étapes (au point où les expressions XPath sont évaluées). Ce nœud a la même valeur que l'évaluation de l'expression XPath '.' (dot) sur Vue XPath.

Figure 6.3. La vue nœud contextuel

La vue nœud contextuel

Tableau 6.1. Détails nœud contextuel

ColonneDescription
NomNom du nœud source (XML).
Attributs/ValeurLes attributs ou valeur du nœud XML. Si des attributs existent, ils sont affichés sous la forme attributNom="attributValeur", sinon le contenu textuel du nœud est affiché.

Vue XPath

Affiche les expressions XPath à évaluer durant le débogage. Les expressions sont évaluées dynamiquement lorsque le processeur change le contexte de sa source.

Figure 6.4. La vue XPath

La vue XPath

Tableau 6.2. Détails XWatch

ColonneDescription
ExpressionExpression XPath à évaluer (devrait être compatible XPath 1.0).
ValeurRésultat de l'évaluation de l'expression XPath. La valeur a un type (voir Valeurs possibles dans la section Vue des variables). Pour un Ensemble de nœuds le nombre de nœuds dans l'ensemble est affiché entre parenthèses.
[Important]Remarques
  • Les expressions ayant des références vers des noms de variables ne sont pas évaluées. Dans le cas d'une erreur XPath, une ligne d'erreur est renvoyée.

  • La liste des expressions n'est pas effacée à la fin de la transformation (elle est préservée durant les sessions).

  • Pour insérer une nouvelle expression, cliquez sur la dernière ligne de la colonne expressions et entrez-la. Appuyez sur Entrée sur la cellule pour confirmer.

  • Pour effacer une expression, cliquez sur sa colonne Expression et effacez son contenu. Appuyez sur Entrée pour confirmer.

  • Si le type de résultat de l'expression est un Ensemble de nœuds, vous pouvez cliquez dessus (colonne Valeur) et vous verrez sur la partie droite sa valeur (voir Vue d'ensemble de nœuds).

Vue Breakpoints

Liste tous les ensembles de breakpoints sur les documents. Une fois que vous avez mis un breakpoint vous avez une ligne pour celui-ci dans cette liste. Les breakpoints peuvent être mis à la fois sur les documents XML et XSL.

Figure 6.5. La vue Breakpoints

La vue Breakpoints

Tableau 6.3. Détails des Breakpoints

ColonneDescription
RessourceLe fichier ressource où le breakpoint se trouve. Le chemin complet du fichier ressource est disponible comme aide.
LigneNuméro de ligne à lintérieur du ressource où se trouve le breakpoint.
[Important]Breakpoint valide
  • Les breakpoints ne sont pas tous valides. Par exemple si le breakpoint est mis sur une ligne vite ou de commentaire, ou si la ligne n'est pas atteinte par le processeur example (no template to match it, line containing only an end tag), ce breakpoint est invalide.

  • Le menu contextuel sur le tableau a les options "Enlever" et "Aller à".

  • Cliquer sur un enregistrement surligne la ligne du breakpoint dans le document.

Vue des Messages

Les instructions <xsl:message> sont une façon de signaler des situations spéciales rencontrées durant la transformation ainsi qu'une manière basique de faire le débogage. Cette vue montre tous les appels <xsl:message> exécutés par le processeur XSLT durant la transformation.

Figure 6.6. La vue des Messages

La vue des Messages

Tableau 6.4. Détails des Messages

ColonneDescription
MessageContenu du Message.
FinSignale si le processeur va terminer la transformation ou non du moment qu'il le rencontre(respectivement vrai/faux)
RessourceFichier ressource où l'instruction <xsl:message> est définie. Le chemin complet du ressource est disponible comme aide.
[Important]Remarques
  • Cliquer sur un enregistrement du tableau surligne la ligne de déclaration <xsl:message>.

Vue de la pile

Affiche la pile d'exécution actuelle à la fois des nœuds de la source et du style. Durant la transformation deux piles sont gérées : une de nœuds du source étant traitée et l'autre pour les nœuds de feuilles de style étant traitée. Oxygen affiche les deux types de nœuds dans une pile commune. Les nœuds du source (XML) sont précédés par un icône de couleur rouge tandis que les nœuds de feuilles de style sont précédés par un icône de couleur verte. L'avantage de cette approche est que vous pouvez toujours voir l'étendue du source sur laquelle une instruction de feuille de style est exécutée (le dernier nœud de couleur rouge sur la pile). La pile est orientée de bas en haut.

Figure 6.7. La vue de la pile

La vue de la pile

Tableau 6.5. Détails de la pile

ColonneDescription
# Numéro d'ordre, représente la profondeur du nœud (0 est la base de la pile).
Nœud XML/XSLNœud du source ou d'un document feuille de style actuellement traité. Un nœud particulier de la pile est la racine du document, notée comme document #.
AttributsAttributs du nœud (liste des paires id="valeur").
RessourceFichier ressource où le nœud est situé. Le chemin complet est disponible comme aide.
[Important]Remarques
  • Cliquer sur un enregistrement de la pile surligne la position de ce nœud dans la ressource.

  • En utilisant Saxon, les élements de la feuille de style sont qualifiés avec proxy XSL, tandis qu'avec Xalan vous ne voyez que leurs noms. (exemple <xsl:template> sous Saxon et modèle sous Xalan).

  • Seul le processeur Saxon affiche les attributs des éléments.

  • Le processeur Xalan affiche les règles "intégrées".

Vue de l'historique de la trace

Habituellement les processeurs XSLT signalent les événements suivants durant la transformation :

  • entrée dans un nœud source (XML).

  • sortie d'un nœud source (XML).

  • entrée dans un nœud de feuille de style (XSL).

  • sortie d'un nœud de feuille de style (XSL).

L'historique de la trace saisit tous ces événements, vous pouvez ainsi voir comment le traitement a évolué. Les lignes d'icônes rouges montrent les nœuds de source tandis que les icônes verts montrent les nœuds de feuilles de style.

Figure 6.8. La vue de l'historique de la trace

La vue de l'historique de la trace

Tableau 6.6. Détails de la trace de l'historique

ColonneDescription
ProfondeurDébute à 0 et représente le niveau d'imbrication de ce nœud. Cela est similaire au numéro d'ordre # de la pile au moment où le nœud a été traité.
Nœud XML/XSLReprésente le nœud du document source ou feuille de style traité. Un nœud particulier est la racine du document, notée comme document #. Chaque nœud a une flèche en face de lui représentant quelle action a été exécutée dessus (entrée ou sortie).
AttributsAttributs du nœud (liste de paires id="valeur").
RessourceFichier ressource où le nœud est situé. Le chemin complet du fichier ressource est donné ici comme aide.
[Important]Remarques
  • Cliquer sur un enregistrement surligne l'emplacement de ce nœud dans la ressource.

  • Seul le processeur Saxon affiche les attributs des éléments.

  • Le processeur Xalan affiche les règles "intégrées".

Vue des modèles

<xsl:template> est l'élément de base pour la transformation de feuilles de style. Cette vue affiche toutes les instructions <xsl:template> utilisées par la transformation. En voyant le nombre de hits pour chaque modèle vous pouvez avoir une idée de la couverture de la feuille de style par règles de modèle concernant la source en entrée.

Figure 6.9. La vue des modèles

La vue des modèles

Tableau 6.7. Détails des modèles

ColonneDescription
CorrespondCorrespond à l'attribut du <xsl:template>.
HitsNombre de hits pour le <xsl:template>. Affiche combien de fois le processeur XSLT a utilisé ce modèle particulier.
PrioritéPriorité de modèle comme établi par le processeur XSLT.
ModeAttribut de mode du <xsl:template>.
NomNom de l'attribut du <xsl:template>.
RessourceFichier ressource où le modèle est situé. Le chemin complet du fichier ressource est disponible comme aide.
[Important]Remarques
  • Cliquer sur un enregistrement surligne cette définition de modèle dans la ressource.

  • Saxon n'affiche que les modèles appliqués ayant au moins un hit par le processeur. Xalan affiche tous les modèles définis, avec ou sans hits.

  • La liste des modèles est triée suivant le nombre de hits.

  • Xalan affiche les règles "intégrées".

Vue d'ensemble de nœuds

Cette vue est toujours utilisée en relation avec les vues Vue des variables et Vue XPath et affiche une valeur d'un ensemble de nœuds. Une fois que vous cliquez sur une variable ayant comme valeur un ensemble de nœuds ou un fragment d'arbre ou une expression XPath évaluée pour un ensemble de nœuds dans les vues ci-dessus, la vue ensemble de nœuds est actualisée avec les valeurs respectives.

Figure 6.10. La vue ensemble de nœuds

La vue ensemble de nœuds

Tableau 6.8. Détails de l'ensemble de nœuds

ColonneDescription
NomNom du nœud source (XML).
Attributs/ValeurContenu(Valeur) des attributs ou du texte du nœud XML. Si des attributs existent, ils sont affichés sous la forme attributNom="attributeValeur", sinon le contenu textuel du nœud est affiché.
[Important]Remarques
  • Dans le cas de valeurs longues pour le contenu de la colonne Valeur/Attributs, l'interface affiche trois points de suspension (...) à la fin. Une valeur plus détaillée est disponible comme aide.

  • Cliquer sur un enregistrement surligne l'emplacement de ce nœud dans la vue du source ou de la feuille de style.

Vue des variables

Durant la transformation les variables et les paramètres jouent un rôle important.

Oxygen utilise les icônes suivants pour différencier les variables/paramètres :

  • Variable globale.

  • Variable locale.

  • Paramètre global.

  • Paramètre local.

Les types de valeurs d'une variable sont marqués par des icônes expliqués ci-dessous :

Valeurs possibles

  • Booléen.

  • Chaîne.

  • Numérique.

  • Ensemble de nœuds.

  • Fragment d'arbre.

  • Objet.

  • Tous.

Figure 6.11. La vue des variables

La vue des variables

Tableau 6.9. Détails des variables

ColonneDescription
NomNom de la variable/du paramètre.
ValeurValeur actuelle de la variable/du paramètre.
[Important]Remarques
  • Cliquer sur un enregistrement surligne la ligne de défintion de la variable.

  • Les valeurs de variables peuvent différer suivant le moteur de transformation utilisé ou la version des feuilles de style réglé.

  • Si la valeur de la variable est un ensemble de nœuds ou un fragment d'arbre, cliquer dessus affiche la Vue de l'ensemble de nœuds avec l'ensemble des valeurs correspondantes.