powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / помогите с 4х колончатым шаблоном плз
9 сообщений из 9, страница 1 из 1
помогите с 4х колончатым шаблоном плз
    #35566539
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 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
помогите с 4х колончатым шаблоном плз
    #35568733
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никто не поможет?
...
Рейтинг: 0 / 0
помогите с 4х колончатым шаблоном плз
    #35570970
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spникто не поможет?
Попробуйте переформулировать вопрос и объяснить, что Вам нужно.

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

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

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

Мне нужно чтобы из линейной таблицы данных получить псевдо 2х колончатый макет HTML-таблицы
В каждой "колонке" должно быть название поля из таблицы данных, замененное на русское название из таблицы Fieldnames и
...
Рейтинг: 0 / 0
помогите с 4х колончатым шаблоном плз
    #35573661
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
помогите с 4х колончатым шаблоном плз
    #35573669
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за шаблон, но он к сожалению почему-то не работает до конца
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
помогите с 4х колончатым шаблоном плз
    #35573675
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался, спасибо
надо было так

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

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

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


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


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