Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Narzędzie hierarchii XSLT upraszcza wiele zadań programistycznych XML. Arkusz stylów XSLT często używa includes
instrukcji i imports
. Kompilacja rozpoczyna się od głównego arkusza stylów, ale w wyniku kompilowania arkusza stylów XSLT błąd może pochodzić z innego źródła niż główny arkusz stylów. Naprawienie błędu lub edytowanie arkusza stylów może wymagać dostępu do dołączonych lub zaimportowanych arkuszy stylów. Przejście przez arkusz stylów w debugerze może spowodować otwarcie dołączonych i zaimportowanych arkuszy stylów. W pewnym momencie możesz dodać punkt przerwania w co najmniej jednym dołączonym arkuszu stylów.
Innym scenariuszem, w którym narzędzie hierarchii XSLT może być przydatne, jest umieszczenie punktów przerwania we wbudowanych regułach szablonów. Reguły szablonów to specjalne szablony generowane dla każdego trybu arkusza stylów i wywoływane przez xsl:apply-templates
program , gdy żaden inny szablon nie pasuje do węzła. Aby zaimplementować debugowanie w wbudowanych regułach szablonów, debuger XSLT generuje plik z regułami w folderze tymczasowym i kompiluje je razem z głównym arkuszem stylów. Bez przechodzenia do kodu z niektórych xsl:apply-template
elementów może być trudno znaleźć arkusze stylów, które zostały uwzględnione w głównym arkuszu stylów lub znaleźć i otworzyć arkusz stylów przy użyciu wbudowanych reguł szablonów.
W przykładzie w tym temacie pokazano debugowanie w przywoływnym arkuszu stylów.
Aby debugować w odwołanym arkuszu stylów
Otwórz dokument XML w programie Visual Studio. W tym przykładzie użyto następującego dokumentu:
<?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>
Dodaj następujący plik 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>
Dodaj następujący plik xslinclude.xsl :
<?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>
Dodaj punkt przerwania w instrukcji
<xsl:include href="xslincludefile.xsl" />
.Uruchom debugowanie.
Gdy debuger zatrzymuje się na instrukcji
<xsl:include href="xslincludefile.xsl" />
, naciśnij przycisk Przejdź do . Debugowanie można kontynuować w przywoływałym arkuszu stylów. Hierarchia jest widoczna, a projektant wyświetla właściwą ścieżkę.