<oXygen/> XML Editor User Guide |
The following topics are present about how to follow XSLT processing and detect errors in your stylesheets:
To debug a stylesheet follow the procedure:
If you are in the Editor perspective switch to the Debugger perspective with one of the actions:
-> or the toolbar button
-> -> or the toolbar button
Select the source XML document in the XML source selector of the Control toolbar
Select the XSL document in the XSL stylesheet selector of the Control toolbar
Set XSLT parameters from the button available on the Control toolbar
Step through the stylesheet using the buttons available on the Control toolbar:
Examine the information in the Information Views to find the bug in the transformation process.
The <oXygen/> XSLT debugger allows you to interrupt XSLT processing to gather information about variables and processor execution at particular points.
To insert a breakpoint:
Des informations détaillées sur le statut du débugger sont offertes en utilisant les vues.
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.
Affiche les expressions XPath à évaluer durant le débogage. Les expressions sont évaluées dynamiquement lorsque le processeur change le contexte de sa source.
Tableau 7.2. Détails XWatch
Colonne | Description |
---|---|
Expression | Expression XPath à évaluer (devrait être compatible XPath 1.0 ou 2.0). |
Valeur | Ré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. |
![]() | Remarques |
---|---|
|
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.
Tableau 7.3. Détails des Breakpoints
Colonne | Description |
---|---|
Ressource | Le fichier ressource où le breakpoint se trouve. Le chemin complet du fichier ressource est disponible comme aide. |
Ligne | Numéro de ligne à lintérieur du ressource où se trouve le breakpoint. |
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.
Tableau 7.4. Détails des Messages
Colonne | Description |
---|---|
Message | Contenu du Message. |
Fin | Signale si le processeur va terminer la transformation ou non du moment qu'il le rencontre(respectivement vrai/faux) |
Ressource |
Fichier ressource où l'instruction
<xsl:message> est
définie. Le chemin complet du
ressource est disponible comme aide.
|
![]() | Remarques |
---|---|
|
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.
Tableau 7.5. Détails de la pile
Colonne | Description |
---|---|
# | Numéro d'ordre, représente la profondeur du nœud (0 est la base de la pile). |
Nœud XML/XSL | Nœ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 #. |
Attributs |
Attributs du nœud (liste des paires
id
="valeur ").
|
Ressource | Fichier ressource où le nœud est situé. Le chemin complet est disponible comme aide. |
![]() | Remarques |
---|---|
|
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.
Il est possible de sauver la trace de l'élément dans un document XML strucuté. Cette fonction est disponible dans le menu contextuel de la vue. De cette façon, vous avez la possiblité de comparer les résultats de la trace depuis différentes sessions de débogage.
Tableau 7.6. Détails de la trace de l'historique
Colonne | Description |
---|---|
Profondeur | Dé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/XSL | Repré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). |
Attributs |
Attributs du nœud (liste de paires
id
="valeur ").
|
Ressource | Fichier ressource où le nœud est situé. Le chemin complet du fichier ressource est donné ici comme aide. |
![]() | Remarques |
---|---|
|
<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.
Tableau 7.7. Détails des modèles
Colonne | Description |
---|---|
Correspond |
Correspond à l'attribut du <xsl:template> .
|
Hits |
Nombre 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. |
Mode |
Attribut de mode du <xsl:template> .
|
Nom |
Nom de l'attribut du <xsl:template> .
|
Ressource | Fichier ressource où le modèle est situé. Le chemin complet du fichier ressource est disponible comme aide. |
![]() | Remarques |
---|---|
|
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.
Tableau 7.8. Détails de l'ensemble de nœuds
Colonne | Description |
---|---|
Nom | Nom du nœud source (XML). |
Attributs/Valeur |
Contenu (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é.
|
![]() | Remarques |
---|---|
|
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 :
Tableau 7.9. Détails des variables
Colonne | Description |
---|---|
Nom | Nom de la variable/du paramètre. |
Valeur | Valeur actuelle de la variable/du paramètre. |
![]() | Remarques |
---|---|
|
In order to quickly spot the templates with problems it is important to know what XSL template in the XSL stylesheet and what element in the source XML document generated a specified area in the output. Some of the debugging capabilities, for example "Step in" can be used for this purpose. Using "Step in" you can see how output is generated and link it with the style element being executed in the current source context. However, this can become difficult on complex stylesheets that generates a large output.
Sortie vers mapping de source est une fonction puissante qui rend ce mapping persistant, c.-à-d. que vous pouvez cliquer sur le texte depuis la Vue du document de sortie et l'éditeur va sélectionner le contexte du source et l'élément XSL qui ont généré le texte.
If you are in the Editor perspective switch to the Debugger perspective with one of the actions:
-> or the toolbar button
-> -> or the toolbar button
Select the source XML document in the XML source selector of the Control toolbar
Select the XSL document in the XSL stylesheet selector of the Control toolbar
Select the XSLT engine in the XSLT engine selector of the Control toolbar
Set XSLT parameters from the button available on the Control toolbar
Apply the stylesheet using the button available on the Control toolbar:
Inspect the mapping by clicking a section of the output from the Text view tab or from the XHTML view tab of the Output document view to have the stylesheet element and the source context highlighted.