Návod: Použití hierarchie XSLT
Nástroj hierarchie XSLT zjednodušuje řadu úloh vývoje XML. Šablona stylů XSLT často používá includes
a imports
pokyny. Kompilace začíná ze šablony stylů objektu zabezpečení, ale když se v důsledku kompilace šablony stylů XSLT zobrazí chyba, může tato chyba pocházet z jiného zdroje než šablona stylů objektu zabezpečení. Oprava chyby nebo úpravy šablony stylů může vyžadovat přístup k zahrnutým nebo importovaným šablonám stylů. Krokování šablony stylů v ladicím programu může otevřít zahrnuté a importované šablony stylů a můžete chtít přidat zarážku v určitém okamžiku v jednom nebo více zahrnutých šablon stylů.
Dalším scénářem, ve kterém může být užitečný nástroj hierarchie XSLT, je vkládání zarážek do předdefinovaných pravidel šablony. Pravidla šablon jsou speciální šablony vygenerované pro každý režim šablony stylů a volají se, xsl:apply-templates
když žádná jiná šablona neodpovídá uzlu. Pokud chcete implementovat ladění v předdefinovaných pravidlech šablon, ladicí program XSLT vygeneruje soubor s pravidly v dočasné složce a zkompiluje je společně se šablonou stylů objektu zabezpečení. Bez kroku do kódu z některých xsl:apply-template
může být obtížné najít šablony stylů, které byly zahrnuty do šablony stylů objektu zabezpečení nebo najít a otevřít šablonu stylů pomocí předdefinovaných pravidel šablony.
Příklad v tomto tématu ukazuje ladění v odkazované šabloně stylů.
Ladění v odkazované šabloně stylů
Otevřete dokument XML v sadě Visual Studio. Tento příklad používá následující dokument:
<?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>
Přidejte následující soubor 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>
Přidejte následující soubor 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>
Přidejte zarážku na pokyn
<xsl:include href="xslincludefile.xsl" />
.Spuštění ladění
Když se ladicí program zastaví na pokynu
<xsl:include href="xslincludefile.xsl" />
, stiskněte tlačítko Krok do . Ladění lze pokračovat v odkazované šabloně stylů. Hierarchie je viditelná a návrhář zobrazí správnou cestu.