|
XSML 2.0 - группировка - список
|
|||
---|---|---|---|
#18+
Добрый вечер! вопрос: есть .xml: <städte> <stadt land="Deutschland" kontinent="Europa">München</stadt> <stadt land="Deutschland" kontinent="Europa">Dortmund</stadt> <stadt land="Frankreich" kontinent="Europa">Brest</stadt> <stadt land="Japan" kontinent="Asien" >Tokio</stadt> <stadt land="Südkorea" kontinent="Asien" >Seoul</stadt> <stadt land="Deutschland" kontinent="Europa">Hannover</stadt> <stadt land="Polen" kontinent="Europa">Krakau</stadt> <stadt land="Russland" kontinent="Asien" >Omsk</stadt> <stadt land="Japan" kontinent="Asien" >Kobe</stadt> <stadt land="Japan" kontinent="Asien" >Ibaraki</stadt> <stadt land="Russland" kontinent="Europa">St. Petersburg</stadt> <stadt land="Saudi-Arabien" kontinent="Afrika">Riad</stadt> <stadt land="Irland" kontinent="Europa">Galway</stadt> <stadt land="Kamerun" kontinent="Afrika">Yaoundé</stadt> <stadt land="Österreich" kontinent="Europa">Wien</stadt> </städte> Необходимо с помощью XSML 2.0 (for-each-group) сделать в список с подсписком: Europa Deutschland München Dortmund Hannover Frankreich Brest Polen Krakau Irland Galway Österreich Wien Asien Japan Tokio Kobe Ibaraki Südkorea Seoul Russland Omsk Afrika Saudi-Arabien Riad Kamerun Yaoundé примерно так! спасибо!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 23:08 |
|
XSML 2.0 - группировка - список
|
|||
---|---|---|---|
#18+
сорри, ничего не отобразилось! вот ка кэто должно выглядеть (XSLT) <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="html" indent="yes" /> <xsl:template match="*"> <xsl:for-each select="stadt[not(@kontinent=preceding-sibling::stadt/@kontinent)]" > <xsl:variable name="kontinent" select="@kontinent" /> <h1> <xsl:value-of select="$kontinent"/> </h1> <ul> <xsl:for-each select="../stadt[@kontinent = $kontinent and not(@land=preceding-sibling::stadt/@land)]"> <xsl:variable name="land" select="@land" /> <li> <xsl:value-of select="$land"/> <ul><xsl:for-each select="../stadt[@kontinent = $kontinent and @land=$land]"> <li><xsl:value-of select="."/></li> </xsl:for-each> </ul> </li> </xsl:for-each> </ul> </xsl:for-each> </xsl:template> </xsl:stylesheet> -------------------------------------- вот как я его представила в XSLT 2.0 <?xml version="1.0"?> <xsl:stylesheet version="2.0" exclude-result-prefixes="xsl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="städte"> <xsl:for-each-group select="städte/stadt" group-by="@kontinent"> <h1> <xsl:value-of select="@kontinent"/> </h1> <ul> <xsl:for-each-group select="current-group()" group-by="@land"> <li> <xsl:value-of select="@land"/> <ul><xsl:for-each select="current-group()"> <li><xsl:value-of select="."/></li> </xsl:for-each> </ul> </li> </xsl:for-each-group> </ul> </xsl:for-each-group> </xsl:template> </xsl:stylesheet> выдает ошибку =((( плиз!!помогите!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 23:20 |
|
|
start [/forum/topic.php?fid=14&msg=35626662&tid=1333746]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 437ms |
0 / 0 |