powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSML 2.0 - группировка - список
2 сообщений из 2, страница 1 из 1
XSML 2.0 - группировка - список
    #35626662
Наталица
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!
вопрос:

есть .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é

примерно так!
спасибо!!!!!
...
Рейтинг: 0 / 0
XSML 2.0 - группировка - список
    #35626676
Наталица
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри, ничего не отобразилось!
вот ка кэто должно выглядеть (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>

выдает ошибку =(((
плиз!!помогите!!!
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSML 2.0 - группировка - список
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]