Используя один из самых фундаментальных шаблонов разработки XSLT: "При переопределении преобразование идентификационных данных " каждый просто запишет следующее:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="Element[@fruit='apple' and @animal='cat']"/> </xsl:stylesheet>
Делают примечание , как второй шаблон переопределяет идентификационные данные (1-й) шаблон только для элементов под названием "Элемент", которые имеют атрибут "фрукты" со значением "яблоко" и приписывают "животное" со значением "кошка". Этот шаблон имеет пустое тело, что означает, что подобранный элемент просто проигнорирован (ничто не производится, когда это подобрано).
, Когда это преобразование применяется на следующий исходный XML-документ:
<doc>... <Element name="same">foo</Element>... <Element fruit="apple" animal="cat" /> <Element fruit="pear" animal="cat" /> <Element name="same">baz</Element>... <Element name="same">foobar</Element>... </doc>
к требуемому результату приводят:
<doc>... <Element name="same">foo</Element>... <Element fruit="pear" animal="cat"/> <Element name="same">baz</Element>... <Element name="same">foobar</Element>... </doc>[еще 119] фрагменты кода использования и переопределения шаблона идентификационных данных могут быть найдены здесь .