powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Внешний файл document()
6 сообщений из 6, страница 1 из 1
Внешний файл document()
    #36675184
walek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет друзья.
У меня проблема с функцией document(), не получается вывести узел.
Есть внешний xml:


<?xml version="1.0" encoding="windows-1251" ?>
<Metall FromDate="20100605" ToDate="20100605" name="Precious metals quotations">
<Record Date="05.06.2010" Code="1"><Buy>1202,15</Buy><Sell>1202,15</Sell></Record>
<Record Date="05.06.2010" Code="2"><Buy>18,25</Buy><Sell>18,25</Sell></Record>
<Record Date="05.06.2010" Code="3"><Buy>1544,26</Buy><Sell>1544,26</Sell></Record>
<Record Date="05.06.2010" Code="4"><Buy>449,49</Buy><Sell>449,49</Sell></Record>
</Metall>


Допустим я хочу вывести узел Sell.
Вроде бы всё должно быть просто:
<xsl:value-of select="document(/XML/CBR/CBRYesterdayMetall.xml)/Metall/Record/Sell" />

Но эта конструкция не работает.
В чём может быть ошибка?

Спасибо.
...
Рейтинг: 0 / 0
Внешний файл document()
    #36676680
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Название и версию XSLT процессора в студию
...
Рейтинг: 0 / 0
Внешний файл document()
    #36676910
walek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSXML 4.0

Пробовал указывать абсолютный путь, ставить кавычки, не помогает.
Замечу, что парсинг происходит во внутренней сети.
...
Рейтинг: 0 / 0
Внешний файл document()
    #36679374
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Внешний файл document()
    #36679845
walek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_ , спасибо, у меня другая проблема возникла.

Пытаюсь сделать таблицу, вида (1 строка):
Золото 1202,15 1268,72
....

Значение во втором столбце берется из вышеприложенного XML, 3 столбец заполняется значениями из второго xml такого-же формата, только соответственно с другими значениями.

Делаю так:
автор<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="Metall">
<table border="1">
<colgroup>
<col></col>
<col style="padding-left: 15px;"></col>
</colgroup>
<xsl:apply-templates select="Record" />
</table>
</xsl:template>

<xsl:template match="Record">
<tr>
<td>
<xsl:call-template name="metall">
<xsl:with-param name="code" select="@Code" />
</xsl:call-template>
</td>
<td style="text-align: right;"><xsl:value-of select="Sell" /></td>
<td style="text-align: right;"><xsl:call-template name="qwerty" />
</td>
</tr>
</xsl:template>

<xsl:template name="metall">
<xsl:param name="code" />

<xsl:choose>
<xsl:when test="$code=1">Золото</xsl:when>
<xsl:when test="$code=2">Серебро</xsl:when>
<xsl:when test="$code=3">Платина</xsl:when>
<xsl:when test="$code=4">Палладий</xsl:when>
</xsl:choose>
</xsl:template>

<xsl:template match="/" name="qwerty">
<xsl:for-each select="document('CBRYesterdayMetall.xml')//Record">
<xsl:value-of select="Sell" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Мне интересно, почему не работает конструкция вызовы шаблона name="qwerty"?

Спасибо!
...
Рейтинг: 0 / 0
Внешний файл document()
    #36680737
walek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Упс, нагородил огород, сделал так:

автор<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="Metall">
<table border="1">
<colgroup>
<col></col>
<col style="padding-left: 15px;"></col>
</colgroup>
<tr>
<td></td>
<td>c <xsl:value-of select="document('CBRYesterdayMetall.xml')/Metall/@FromDate" /></td>
<td>c <xsl:value-of select="@FromDate" /></td>
</tr>
<xsl:apply-templates select="Record" />
</table>
</xsl:template>

<xsl:template match="Record">
<xsl:variable name="cd" select="@Code" />
<tr>
<td>
<xsl:call-template name="metall">
<xsl:with-param name="code" select="@Code" />
</xsl:call-template>
</td>
<td style="text-align: right;">
<xsl:apply-templates select="document('CBRYesterdayMetall.xml')//Record[@Code=$cd]/Sell" />
</td>
<td style="text-align: right;"><xsl:value-of select="Sell" /></td>
</tr>
</xsl:template>

<xsl:template name="metall">
<xsl:param name="code" />
<xsl:param name="codes" />

<xsl:choose>
<xsl:when test="$code=1">Çîëîòî</xsl:when>
<xsl:when test="$code=2">Ñåðåáðî</xsl:when>
<xsl:when test="$code=3">Ïëàòèíà</xsl:when>
<xsl:when test="$code=4">Ïàëëàäèé</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Внешний файл document()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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