powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Закрывающий тег перед открывающим.
5 сообщений из 5, страница 1 из 1
Закрывающий тег перед открывающим.
    #38649317
Петровичч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все доброго дня!

Хочу пометить первую строку в выходной таблице. Для этого:
1 открываю строку.
2 вызваю шаблон внутри которого открываю и закрываю строки.
3 по выходу из шаблона - закрываю строку.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<xsl:template match="/">
  <row>
    <cell>First row</cell>
    <xsl:apply-templates select="//qwe123"/>
  </row>
</xsl:template>

<xsl:template match="qwe123">
      <cell>2<cell/>
      <cell>3<cell/>

  <xsl:if test="position() != last()">
    </row>
    <row>
      <cell>not first row<cell/>
  </xsl:if>

</xsl:template>



Транслятор не переваривает закрывающий тег </row> перед открывающим <row>.
получаю ошибку: XML-Transformer Error: The element type "xsl:if" must be terminated by the matching end-tag "</xsl:if>".
Вопрос - как обойти это ограничение?

Вариант с определением первой строки внутри шаблона - не нравится. Т.к. будет много подобных вложенных шаблонов.
...
Рейтинг: 0 / 0
Закрывающий тег перед открывающим.
    #38649333
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПетровиччХочу пометить первую строку в выходной таблице
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<xsl:template match="/">
  <xsl:apply-templates select="//qwe123"/>
</xsl:template>

<xsl:template match="qwe123">
  <row>
    <cell>
      <xsl:choose>
        <xsl:when test="position() = 1">
          First row
        </xsl:when>
        <xsl:otherwise>
          not first row
        </xsl:otherwise>
      </xsl:choose>
    </cell>
    <cell>2<cell/>
    <cell>3<cell/>
</xsl:template>
...
Рейтинг: 0 / 0
Закрывающий тег перед открывающим.
    #38649341
Петровичч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_ <xsl:when test="position() = 1">


Я же написал - Вариант с определением первой строки внутри шаблона - не нравится
...
Рейтинг: 0 / 0
Закрывающий тег перед открывающим.
    #38649441
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПетровиччВариант с определением первой строки внутри шаблона - не нравитсяОбосновать можете?
ПетровиччТ.к. будет много подобных вложенных шаблонов.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<xsl:template match="qwe123">
  <row>
    <cell>
      <xsl:call-template name="rowDetect"/>
    </cell>
    <cell>2<cell/>
    <cell>3<cell/>
</xsl:template>

<xsl:template name="rowDetect"/>
      <xsl:choose>
        <xsl:when test="position() = 1">
          First row
        </xsl:when>
        <xsl:otherwise>
          not first row
        </xsl:otherwise>
      </xsl:choose>
</xsl:template>
...
Рейтинг: 0 / 0
Закрывающий тег перед открывающим.
    #38649768
Петровичч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

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


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