powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как понять такое поведение XPath?
2 сообщений из 2, страница 1 из 1
Как понять такое поведение XPath?
    #35147717
stant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
=== XML =================================
<root>
    <one/>
    <two/>
    <three/>
    <four/>
    <five/>
</root>  
========================================

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
=== XSLT ================================
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" encoding="utf-8" omit-xml-declaration="yes"/>

    <xsl:template match="/root">
        <xsl:for-each select="five">
            <xsl:for-each select="preceding-sibling::*[position() > 1]">
                <xsl:value-of select="name()" />
                <xsl:text> </xsl:text>
            </xsl:for-each>
        </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>  
========================================

Код: plaintext
1.
2.
=== Вывод ===============================
 one two three 
========================================

В этом примере выбираются элементы, предшествующие элементу five, т.е: four, three, two, one. Из этих элементов все, кроме первого выводятся. Почему тогда при выводе порядок не по возрастанию значения position(), то есть: "three two one"?
...
Рейтинг: 0 / 0
Как понять такое поведение XPath?
    #35148838
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это написано в спецификации: «The nodes are processed in document order».
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как понять такое поведение XPath?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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