<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:templatematch="/"><html><xsl:call-templatename="head"/><body><xsl:copy-ofselect="content/node()"/></body></html></xsl:template><xsl:templatename="head"><head><metaname="keywords"content="XSLT, XPath, XML"/><metaname="description"content="This site is dedicated to XSLT and Xpath."/><title>XSLTdev.ru-XSLTdeveloperresource</title><linkrel="stylesheet"type="text/css"href="style/main.css"/></head></xsl:template></xsl:stylesheet>
1 2 3 4 5 6 7 8 9101112131415161718
<html><head><metaname="keywords"content="XSLT, XPath, XML"/><metaname="description"content="This site is dedicated to XSLT and Xpath."/><title>XSLTdev.ru - XSLT developer resource</title><linkrel="stylesheet"type="text/css"href="style/main.css"/></head><body>
Just a few words...
</body></html>
В принципе именованные шаблоны не обязаны иметь атрибут match, но он все же может быть определен. В этом случае шаблон можно будет применять как для обработки частей документов элементом xsl:apply-templates, так и вызывая его по имени элементом xsl:call-template.
Изменим объявление нашего шаблона head следующим образом:
<H2CONTENTEDITABLE="true">My Topic</H2><P><DIVSTYLE="font-size:16; font-family:Arial; font-weight:bold; font-style:italic"CONTENTEDITABLE="true">First Paragraph<DIV><SPANCONTENTEDITABLE="true">
The first para has both name and title.
</SPAN></P><P><DIVSTYLE="font-size:16; font-family:Arial; font-weight:bold; font-style:italic"CONTENTEDITABLE="true">Second Paragraph<DIV><SPANCONTENTEDITABLE="true">
The second para has a title but no name.
</SPAN></P><P><SPANCONTENTEDITABLE="true">
The third para has neither name nor title.
</SPAN></P>