Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / помогите с 4х колончатым шаблоном плз / 9 сообщений из 9, страница 1 из 1
30.09.2008, 00:46
    #35566539
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
Есть xml такого вида:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="utf-8"?>
<Obj>
  <PreviewData>
    <row>
      <CountryUkr>Украина</CountryUkr>
      <CountryRus>Украина</CountryRus>
      <CountryEn>Ukraine</CountryEn>
    </row>
  </PreviewData>

  <FieldNames>
    <row>
      <CountryUkr>Страна (укр.)</CountryUkr>
      <CountryRu>Страна (рус.)</CountryRu>
      <CountryEn>Страна (англ.)</CountryEn>
    </row>
  </FieldNames>
</Obj>

Необходимо построить HTML-таблицу с 4мя колонками

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<table>
  <tr>
    <td>Страна (укр.)</td><td>Украина</td><td>Страна (рус.)</td><td>Украина</td>
  </tr>
  <tr>
    <td>Страна (англ.)</td><td>Ukraine</td><td></td><td></td>
  </tr>
</table>



чтобы заменить названия элементов из PreviewData/row соответствующими значениями элементов из FieldNames/row

заранее благодарен
...
Рейтинг: 0 / 0
01.10.2008, 05:52
    #35568733
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
никто не поможет?
...
Рейтинг: 0 / 0
01.10.2008, 23:35
    #35570970
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
spникто не поможет?
Попробуйте переформулировать вопрос и объяснить, что Вам нужно.

Всегда ли элемент <row> содержит три элемента?
Всегда ли элемент <Obj> содержит два элемента
...
Рейтинг: 0 / 0
02.10.2008, 14:01
    #35572286
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
_Vasilisk_ spникто не поможет?
Попробуйте переформулировать вопрос и объяснить, что Вам нужно.

Всегда ли элемент <row> содержит три элемента?
Всегда ли элемент <Obj> содержит два элемента

<row> содержит N-е кол-во записей, хотя N-е это много :) пусть будет K-е колво и заранее не известное
<Obj> всегда содержит 2 элемента - <row> это данные из таблицы, FieldNames формирую я в SP в MSQL чтобы дать полям понятное русское наименование

Мне нужно чтобы из линейной таблицы данных получить псевдо 2х колончатый макет HTML-таблицы
В каждой "колонке" должно быть название поля из таблицы данных, замененное на русское название из таблицы Fieldnames и
...
Рейтинг: 0 / 0
03.10.2008, 01:12
    #35573661
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
Код: 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.
  <xsl:template match="/Obj">
    <table>
      <xsl:apply-templates select="FieldNames/row/*" mode="names"/>
    </table>
  </xsl:template>

  <xsl:template match="*" mode="names">
    <xsl:if test="position() mod 2 = 1">
      <tr>
        <xsl:apply-templates select="." mode="showCountry"/>
        <xsl:choose>
          <xsl:when test="following-sibling::*[1]">
            <xsl:apply-templates select="following-sibling::*[1]" mode="showCountry"/>
          </xsl:when>
          <xsl:otherwise>
            <td/>
            <td/>
          </xsl:otherwise>
        </xsl:choose>
      </tr>
    </xsl:if>
  </xsl:template>
 
  <xsl:template match="*" mode="showCountry">
    <td>
      <xsl:value-of select="."/>
    </td>
    <td>
      <xsl:variable name="name" select="name()"/>
      <xsl:value-of select="/Obj/PreviewData/row/*[name() = $name]"/>
    </td>
  </xsl:template>
С уважением, Vasilisk
...
Рейтинг: 0 / 0
03.10.2008, 01:22
    #35573669
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
Спасибо за шаблон, но он к сожалению почему-то не работает до конца
Djn xnj jy dslftn

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="UTF-16"?>
<table>
<tr>
<td>Страна (укр.)</td>
<td></td>
<td>Страна (рус.)</td>
<td></td>
</tr>
<tr>
<td>Страна (англ.)</td>
<td></td>
<td />
<td />

а надо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<table>
<tr>
<td>Страна (укр.)</td>
<td>Украина</td>
<td>Страна (рус.)</td>
<td>Украина</td>
</tr>
<tr>
<td>Страна (англ.)</td>
<td>Ukraine</td>
<td></td>
<td></td>
</tr>
</table>
...
Рейтинг: 0 / 0
03.10.2008, 01:30
    #35573675
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
Разобрался, спасибо
надо было так

Код: plaintext
<xsl:value-of select="/Obj/PreviewData/row/*[$name]"/>
...
Рейтинг: 0 / 0
03.10.2008, 01:47
    #35573688
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
spРазобрался, спасибо
надо было так
Код: plaintext
<xsl:value-of select="/Obj/PreviewData/row/*[$name]"/>

Да, конечно. Но самое интересное, что у меня работает и мой вариант
...
Рейтинг: 0 / 0
03.10.2008, 13:29
    #35574730
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с 4х колончатым шаблоном плз
_Vasilisk_ spРазобрался, спасибо
надо было так
Код: plaintext
<xsl:value-of select="/Obj/PreviewData/row/*[$name]"/>

Да, конечно. Но самое интересное, что у меня работает и мой вариант


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


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