XML
<books>
<book title="XML Today" author="David Perry" release="2016"/>
<book title="XML and Microsoft" author="David Perry" release="2015"/>
<book title="XML Productivity" author="Jim Kim" release="2015"/>
</books>
Следующий код XSL перебирает все книги Дэвида Перри.
XSL
<xsl:key name="title-search" match="book" use="@author"/>
<xsl:template match="/">
<HTML>
<BODY>
<xsl:for-each select="key('title-search', 'David Perry')">
<DIV>
<xsl:value-of select="@title"/>
</DIV>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
Вывод в формате HTML
<HTML>
<BODY>
<DIV>XML Today</DIV>
<DIV>XML and Microsoft</DIV>
</BODY>
</HTML>
Теперь я хотел бы перебрать не только все книги Дэвида Перри, но и все книги любого автора. Как будет выглядеть соответствующий внешний цикл? Или, другими словами: как перебрать все значения моего ключа title-search.
Вывод должен быть примерно таким:
<HTML>
<BODY>
<H1>David Perry</H1>
<DIV>XML Today</DIV>
<DIV>XML and Microsoft</DIV>
<H1>Jim Kim</H1>
<DIV>XML Productivity</DIV>
</BODY>
</HTML>