Procédure pas à pas : Utiliser XSLT hierarchyWalkthrough: Use XSLT hierarchy

L’outil XSLT Hierarchy simplifie de nombreuses tâches de développement XML.The XSLT Hierarchy tool simplifies many XML development tasks. Une feuille de style XSLT utilise souvent des instructions includes et imports.An XSLT style sheet often uses includes and imports instructions. La compilation démarre à partir de la feuille de style principale, mais lorsque vous constatez une erreur en compilant une feuille de style XSLT, l'erreur peut provenir d'une autre source que la feuille de style principale.Compilation starts from the principal style sheet, but when you see an error as a result of compiling an XSLT style sheet, the error may come from a different source than the principal style sheet. La résolution de l'erreur ou la modification de la feuille de style peut nécessiter l'accès à des feuilles de style incluses ou importées.Fixing the error or editing the style sheet may require access to included or imported style sheets. L'exécution pas à pas de la feuille de style dans le débogueur peut ouvrir des feuilles de style incluses et importées, et vous pouvez ajouter un point d'arrêt à un point dans une ou plusieurs des feuilles de style incluses.Stepping through the style sheet in the debugger may open included and imported style sheets, and you may want to add a breakpoint at some point in one or more of the included style sheets.

L'outil XSLT Hierarchy peut aussi s'avérer utile pour placer des points d'arrêt sur les règles de modèle intégrées.Another scenario where the XSLT Hierarchy tool can be useful is putting breakpoints on the built-in template rules. Les règles de modèle sont des modèles spéciaux générés pour chaque mode de la feuille de style et appelés par xsl:apply-templates lorsqu'aucun autre modèle ne correspond au nœud.Template rules are special templates generated for each mode of the style sheet and called by xsl:apply-templates when no other template matches the node. Pour implémenter le débogage dans les règles de modèle intégrées, le débogueur XSLT génère le fichier avec les règles dans le dossier temporaire et les compile avec la feuille de style principale.To implement debugging in built-in templates rules, XSLT debugger generates the file with the rules in the temporary folder and compiles them together with the principal style sheet. Si vous n'exécutez pas le code pas à pas à partir d'un xsl:apply-template, il peut être difficile de trouver les feuilles de style incluses dans la feuille de style principale ou de trouver et ouvrir la feuille de style avec les règles de modèle intégrées.Without stepping into the code from some xsl:apply-template, it can be difficult to find style sheets that have been included in the principal style sheet or to find and open the style sheet with the built-in template rules.

L'exemple dans cette rubrique illustre le débogage dans une feuille de style référencée.The example in this topic demonstrates debugging in a referenced style sheet.

Pour déboguer dans une feuille de style référencéeTo debug in a referenced style sheet

  1. Ouvrez un document XML dans Visual Studio.Open an XML document in Visual Studio. Cet exemple utilise le document suivant :This example uses the following document:

    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="xslinclude.xsl"?>
    <COLLECTION>
      <BOOK>
        <TITLE>Lover Birds</TITLE>
        <AUTHOR>Cynthia Randall</AUTHOR>
        <PUBLISHER>Lucerne Publishing</PUBLISHER>
      </BOOK>
      <BOOK>
        <TITLE>The Sundered Grail</TITLE>
        <AUTHOR>Eva Corets</AUTHOR>
        <PUBLISHER>Lucerne Publishing</PUBLISHER>
      </BOOK>
      <BOOK>
        <TITLE>Splish Splash</TITLE>
        <AUTHOR>Paula Thurman</AUTHOR>
        <PUBLISHER>Scootney</PUBLISHER>
      </BOOK>
    </COLLECTION>
    
  2. Ajoutez le code suivant xslincludefile.xsl:Add the following xslincludefile.xsl:

    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
          xml:space="preserve">
    
    <xsl:template match="TITLE">
       Title - <xsl:value-of select="."/><BR/>
    </xsl:template>
    
    <xsl:template match="AUTHOR">
       Author - <xsl:value-of select="."/><BR/>
    </xsl:template>
    
    <xsl:template match="PUBLISHER">
       Publisher - <xsl:value-of select="."/><BR/><!-- removed second <BR/> -->
    </xsl:template>
    
    </xsl:stylesheet>
    
  3. Ajoutez le code suivant xslinclude.xsl fichier :Add the following xslinclude.xsl file:

    <?xml version='1.0'?>
    <xsl:stylesheet version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
      <xsl:output method="xml" omit-xml-declaration="yes"/>
    
      <xsl:template match="/">
        <xsl:for-each select="COLLECTION/BOOK">
          <xsl:apply-templates select="TITLE"/>
          <xsl:apply-templates select="AUTHOR"/>
          <xsl:apply-templates select="PUBLISHER"/>
          <BR/>
          <!-- add this -->
        </xsl:for-each>
      </xsl:template>
    
      <!-- The following template rule will not be called,
      because the related template in the including stylesheet
      is called. If we move this template so that
      it follows the xsl:include instruction, this one
      will be called instead.-->
      <xsl:template match="TITLE">
        <DIV STYLE="color:blue">
          Title: <xsl:value-of select="."/>
        </DIV>
      </xsl:template>
    
      <xsl:include href="xslincludefile.xsl" />
    </xsl:stylesheet>
    
  4. Ajouter un point d’arrêt au niveau de l’instruction <xsl:include href="xslincludefile.xsl" />.Add a breakpoint at the instruction <xsl:include href="xslincludefile.xsl" />.

  5. Démarrez le débogage.Start debugging.

  6. Lorsque le débogueur s’arrête à l’instruction <xsl:include href="xslincludefile.xsl" />, appuyez sur la pas à pas détaillé bouton.When the debugger stops at the instruction <xsl:include href="xslincludefile.xsl" />, press the Step Into button. Le débogage peut être poursuivie dans la feuille de style référencée.The debugging can be continued in the referenced style sheet. La hiérarchie est visible et le concepteur affiche le chemin d’accès correct.The hierarchy is visible and the designer displays the right path.

Voir aussiSee also