powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Реализация сортировки
6 сообщений из 6, страница 1 из 1
Реализация сортировки
    #35414405
kropotin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Использую xsl-преобразования для вывода неких данных в виде таблицы. Дабы сделать преобразования более гибкими, вынес некоторые параметры в отдельный xsl-файл, например, вид нумерации:
Код: plaintext
<xsl:param name="Numeration"> 1 ) </xsl:param>
Хочу нечто подобное сделать для сортировки...
Чтобы в параметре указать что-то типа такого:
Код: plaintext
1.
<xsl:param name="GroupSortSelect">Name</xsl:param> 
<xsl:param name="GroupSortOrder">ascending</xsl:param> 
где, Name - элемент, по которому осуществляется сортировка.
Можно ли эти параметры как-то запихать в конструкцию:
Код: plaintext
<xsl:sort data-type="text" order="ascending" select="Name"/>
Пробовал, но у меня ничего не получилось... :(

Может, знает кто как можно решить данную задачу?
...
Рейтинг: 0 / 0
Реализация сортировки
    #35414610
Volder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
<xsl:sort data-type="text" order="{$GroupSortOrder}" select="*[name()=$GroupSortSelect]"/>
...
Рейтинг: 0 / 0
Реализация сортировки
    #35414634
Volder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
"...local-name()..."
будет правильней
...
Рейтинг: 0 / 0
Реализация сортировки
    #35414706
kropotin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо! Это то что надо!
...
Рейтинг: 0 / 0
Реализация сортировки
    #35430548
kropotin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все хорошо, если элемент, по которому производится сортировка является дочерним, а если элемент находится гораздо глубже?

например, хочу отсортировать по "Info/Name", select="*[name()=$GroupSortSelect]" уже не прокатывает. Писать select=".//*[local-name()=$GroupSortSelect]", при $GroupSortSelect='Name'...

или есть более эффективное решение?
...
Рейтинг: 0 / 0
Реализация сортировки
    #35431464
Volder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну проблема, надеюсь, понятна - там, где Вам нужно указать Xpath expression, вы указываете строку.

Как вариант, функция - которая будет делать трансформацию строки в XPath, например, saxon:evaluate(). Но это только для saxon.

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


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