Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Простой вопрос по XLT / 4 сообщений из 4, страница 1 из 1
14.03.2008, 17:18
    #35191830
sboyko2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по XLT
Есть XML типа такого:
<taskreport>
<tasks>
<task>
<general>
<start>2007-06-15T10:51:23</start>
</general>
</task>
<task>
<general>
<start>2007-07-15T10:51:23</start>
</general>
</task>
</tasks>
</taskreport>

Нужно переменной MinDate присвоить минимальное значение start.

Есть темплейт с именем min, который это делает.

ВОПРОС: Как этот темплейт правильно вызвать?
Следующий вариант не работает:

<xsl:variable name="MinDate">
<xsl:call-template name ="min">
<xsl:with-param name ="list" select ="taskreport/tasks/task/general/start" />
</xsl:call-template>
</xsl:variable>

Наверное, налажал в путях. Кто разбирается, поправьте меня плз.
...
Рейтинг: 0 / 0
17.03.2008, 08:41
    #35194112
SuSa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по XLT
Навскидку:
1. либо variable засовывай в шаблон
2. либо содержимое шаблона вытаскивай сюда и тут же присвояй полученное значение

Шаблон отрабатывает но не возращает значение. Он его может присвоить но не вернуть..если ничего не путаю.Покрайней мере случаи когда объявлена переменная с каким то знач. потом вызывается шаблон с точно такой же переменной и другим значением, он отрабатывается возращается назад, у переменной будет значение изночальное а не то что было в вызванном шаблоне.
...
Рейтинг: 0 / 0
17.03.2008, 12:33
    #35194818
sboyko2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по XLT
Проблема с параметром list шаблона min. Какое значение нужно задать параметру? Пожалуйста, подскажите.
...
Рейтинг: 0 / 0
19.03.2008, 16:37
    #35201177
TiG
TiG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по XLT
SuSaНавскидку:
1. либо variable засовывай в шаблон
2. либо содержимое шаблона вытаскивай сюда и тут же присвояй полученное значение

Шаблон отрабатывает но не возращает значение. Он его может присвоить но не вернуть..если ничего не путаю.Покрайней мере случаи когда объявлена переменная с каким то знач. потом вызывается шаблон с точно такой же переменной и другим значением, он отрабатывается возращается назад, у переменной будет значение изночальное а не то что было в вызванном шаблоне.
Ну почему, инициализировать переменную можно и вызовом шаблона - он же формирует некоторый набор узлов, его то и будет содержать переменная после создания.
sboyko2Проблема с параметром list шаблона min. Какое значение нужно задать параметру? Пожалуйста, подскажите.
скорее проблема именно в вашем шаблоне min, думается вы пытаетесь в нем обработать list как набор узлов не той структуры которую реально передаете выборкой taskreport/tasks/task/general/start
Сравните для примера:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="windows-1251"/>

<xsl:variable name="var">
  <xsl:call-template name="f1">
    <xsl:with-param name="list" select="taskreport/tasks/task/general/start" />
  </xsl:call-template>
</xsl:variable>

<xsl:template name="f1">
  <xsl:param name="list"/>
  <xsl:value-of select="$list[1]" />
</xsl:template>

<xsl:template name="f2">
  <xsl:param name="list"/>
  <xsl:value-of select="$list//start[1]" />
</xsl:template>

<xsl:template match="/">
 1 )
  <xsl:call-template name="f1">
    <xsl:with-param name="list" select="taskreport/tasks/task/general/start" />
  </xsl:call-template>
 2 )
  <xsl:call-template name="f2">
    <xsl:with-param name="list" select="taskreport/tasks/task/general/start" />
  </xsl:call-template>
 3 )
  <xsl:value-of select="$var" />
</xsl:template>

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


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