powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Работа for-each
3 сообщений из 3, страница 1 из 1
Работа for-each
    #38877869
peter_iglaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добра!
Помогите пожалуйста разобраться.
for-each выводит только первое значение, но в правильном количестве.
Наверное стоит еще сказать что xml не совсем обычный. Это PLMXML разработанный компанией Сименс.

Исходный xml:


<?xml version="1.0" encoding="utf-8"?>
<!-- GENERATED BY: PLM XML SDK 7.0.2.173 -->
<PLMXML xmlns=" http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" language="en-us" date="2014-04-02" languages="en-us" time="12:29:30" author="Teamcenter V8000.3.0.20100916.00">

<Product id="id28" name="ship" accessRefs="#id15" subType="Item" productId="The Flying Dutchman">
</Product>
<Product id="id40" name="5" accessRefs="#id15" subType="Functionality" productId="dett">
</Product>
<Product id="id46" name="live" accessRefs="#id15" subType="Item" productId="Dead Man's Chest">
</Product>
<Product id="id61" name="5" accessRefs="#id15" subType="Functionality" productId="det">
</Product>
<Product id="id67" name="island" accessRefs="#id15" subType="Item" productId="Isla de Muerte">
</Product>
<Product id="id73" name="island" accessRefs="#id15" subType="Item" productId="The Tortuga">



Обработка XSL:


<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"
xmlns:plm=" http://www.plmxml.org/Schemas/PLMXMLSchema"
exclude-result-prefixes="plm">
<xsl:template match="/">
<xsl:for-each select="/plm:PLMXML/plm:Product">
<xsl:value-of select="/plm:PLMXML/plm:Product/@productId"/><br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


И вот что выходит...

The Flying Dutchman
The Flying Dutchman
The Flying Dutchman
The Flying Dutchman
The Flying Dutchman
The Flying Dutchman


Обработчик Saxon 6.5.5
...
Рейтинг: 0 / 0
Работа for-each
    #38877988
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/ в начале запроса означает, что запрос идет от корня, а не текущего контекста.

таким образом <xsl:value-of select="/plm:PLMXML/plm:Product/@productId"/> всегда возвращает первый подходящий узел.

вот как надо:
Код: xml
1.
2.
3.
4.
5.
<xsl:template match="/">
    <xsl:for-each select="plm:PLMXML/plm:Product">
        <xsl:value-of select="@productId"/><br/>
    </xsl:for-each> 
</xsl:template>
...
Рейтинг: 0 / 0
Работа for-each
    #38878013
peter_iglaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

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


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