Xpoint
   [напомнить пароль]

Небольшая проблемка в группировке

Метки: [без меток]
2008-11-10 17:43:13 [обр] walek[досье]

Друзья!

У меня возникла небольшая проблемка в группировке Мюнча.
Делаю таким образом:

<?xml version="1.0" encoding="windows-1251" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="windows-1251" indent="yes" />

<xsl:key name="key-category" match="item" use="concat(page, category)" />

<xsl:template match="/">
   <xsl:for-each select="//item[generate-id()=generate-id(key('key-category', concat(page, category)))]">
      <xsl:value-of select="category" /><BR />
         <xsl:for-each select="key('key-category', concat(page, category))">
            <xsl:value-of select="title" /><BR />
         </xsl:for-each>
   </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

Юмею XML (приведу для примера 2 ноды):

<rss version="2.0" >
<channel>
 <language>ru</language>
 <issue>044</issue>
 <dateout>10.11.2008</dateout>

<item>
 <ID>1052652</ID>
 <page>1</page>
 <category>Дневник</category>
 <title>Золотые слова</title>
</item>

<item>
 <ID>1052677</ID>
 <page>1</page>
 <category>Дневник</category>
 <title>Со стройки в канализацию</title>
</item>

</channel>
</rss>

Все отлично работает.
Но! При повторении в тегах category одних и тех же словосочетаний приводит к дополнительному созданию строки.
Т.е. получается

Дневник Наблюдений
Золотые слова
Дневник Наблюдений
Со стройки в канализацию

А мне же нужно получить вид (если текст повтоярется):

Дневник Наблюдений
Золотые слова
Со стройки в канализацию

Почему не работает фильтрация? Если я в 1 цикле напишу так:

<xsl:for-each select="//item[generate-id()=generate-id(key('key-category', concat(page, category))[1])]">

Спасибо!

спустя 16 часов [обр] Михаил Кюршин aka ya-ya(0/414)[досье]
По примеру вообще не понятно, чего вы хотите добиться. Нужно отталкиваться именно от этого
спустя 3 часа 9 минут [обр] walek[досье]
Эх, зря горячку порол.
Разобрался.
Всем спасибо!
Powered by POEM™ Engine Copyright © 2002-2005