我在编写正确的语句时遇到了一些麻烦,无法返回唯一的值列表。以下路径只是一个例子,类似于我的困境。
/Root/Books/Book/Writers/Writer/Fullname
什么会返回唯一的“全名”列表,请记住,这里的假设是每本书都有多个作者,他们可能会参与多本书。
感谢您的帮助
以下是XML文档的示例
<Root>
<Books>
<Book>
<Title>Book A</Title>
<Writers>
<Writer>Jon Smith</Writer>
<Writer>Peter Smith</Writer>
</Writers>
</Book>
<Book>
<Title>Book B</Title>
<Writers>
<Writer>Jon Smith</Writer>
<Writer>Peter Smith</Writer>
<Writer>James Bloggs</Writer>
</Writers>
</Book>
<Book>
<Title>Book C</Title>
<Writers>
<Writer>Bob Peterson</Writer>
<Writer>Peter Smith</Writer>
<Writer>James Bloggs</Writer>
</Writers>
</Book>
</Books>
</Root>
我想要返回的是不同作家的清单。
乔恩史密斯 彼得史密斯 詹姆斯博格斯 鲍勃彼得森。这很棘手,因为有多本书有多个作家。
答案 0 :(得分:0)
按照罗伯特的link进行分组处方的第一步:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:copy-of select='Root/Books/Book/Writers/Writer[not(preceding::Writer = .)]'/>
</xsl:template>
</xsl:stylesheet>