powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Сортировка последовательности или имена параметров
3 сообщений из 3, страница 1 из 1
Сортировка последовательности или имена параметров
    #34374285
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Есть вопросы:
1.
Имею конструкцию к примеру
<teg>
<param name="a"/>
<param name="c"/>
<param name="b"/>
</teg>
Мне нужно отсортировать param по значению атрибута.
Писал так:
<xsl:for-each select="teg'>
<xsl:sort select="@name"/>
<xsl:message>znachenie='<xsl:value-of select="@name"/>' - выводи все красиво (на экран)
</xsl:message>
</xsl:for-each>
Но если написать вот так
<xsl:variable name="parms">
<xsl:for-each select="param">
<xsl:sort select="@name"/>
<PR name="@name"/> - просто строка, xsl пропустит, и должен вывести в чистом виде
</xsl:for-each>
</xsl:variable>
а потом вывести последовательность:
<xsl:message>'<xsl:value-of select="$parms/PR[@name]"/>'</xsl:message> , то в отличии от ожиаемого выведется:
a c b.
Как сделать(написать так), чтобы значения отсортировались и записались в последовательность в отсортированном порядке
2. Есть шаблон, к примеру
<template match="...">
<xsl:for-each select="$a">
<xsl:if test=last()!=$b">... </xsl:if>
... что то еще
</xsl:for-each>
<template>
Как узнать какие (их имена ) переменные используются (имеют знак $ в начале), если в шаблон они переданны по разному, т.е.
Это м.б. как передача параметром, так и объявление внутри, так и описание их выше по программе (элементами верхнего уровня)
...
Рейтинг: 0 / 0
Сортировка последовательности или имена параметров
    #34374510
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам на свои вопросы отвечаю :) смешно..
На первый вопрос ответ такой, только что написал решение:
В общем логика была верна, но с небольшой ошибкой, вот верный результат
<xsl:variable name="parms">
<xsl:for-each select="param">
<xsl:sort select="@name"/>
<xsl:value-of select="@name"/> <xsl:text> </xsl:text>
</xsl:for-each>
</xsl:variable>
в результате получим последовательность a b c
А потом чтоб сравнить эту последовательность с другой (создавалась таким же макаром, токо над другим тегом) написал условие
<xsl:if test="$parms=$parms2"> Sovpaly</xsl:if>
И все :)
...
Рейтинг: 0 / 0
Сортировка последовательности или имена параметров
    #34387046
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надобность в втором вопрсе отпала, можно не думать :) надо будет я сново напишу
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Сортировка последовательности или имена параметров
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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