Вы можете найти название книги с указанным ISBN следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:s="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"
exclude-result-prefixes="msxsl">
<xsl:output method="text"/>
<!-- find a book with a certain isbn -->
<xsl:template match="book[@ISBN=0321173481]">
<!-- output the name -->
<xsl:value-of select="."/>
</xsl:template>
<!-- visit all the documen nodes -->
<xsl:template match="@*|node()">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
</xsl:stylesheet>
Это приведет к выводу текстового файла только с названием выбранной книги.Конечно, вы можете установить значение ISBN '0321173481', синтаксис для передачи этого зависит от вашего языка.
Однако, если все, что вы хотите сделать, это выбрать название книги с данным ISBN,XSLT на самом деле не самая лучшая технология, XSLT предназначен для преобразования документов XML, а не для простых запросов.
Для примера вы можете найти книгу с указанным ISBN с использованием Linq to XML следующим образом:
var name = document.Descendants("book")
.Where(book => book.Attribute("ISBN").Value == "2")
.Single().Value;
Намного проще!