Как поместить узлы в переменную - PullRequest
0 голосов
/ 30 августа 2018

У меня короткий вопрос. У меня есть 2 строки, но почему он отображает «смешанный» один раз?

  <xsl:variable name="relItems-nodes">
    <xsl:for-each select="Lines/Line">
      <xsl:copy-of select="."/>
    </xsl:for-each>
  </xsl:variable>

  <xsl:for-each select="msxsl:node-set($relItems-nodes)">
     mixed
  </xsl:for-each>

1 Ответ

0 голосов
/ 30 августа 2018

Ваша переменная relItems-nodes представляет собой фрагмент дерева результатов с корневым узлом, содержащим различные элементы Line, использование msxsl:node-set($relItems-nodes) преобразует его в набор узлов с корневым узлом, содержащим различные элементы Line, поэтому, если вы не хочу обрабатывать корневой узел, но содержащиеся Line элементы используют <xsl:for-each select="msxsl:node-set($relItems-nodes)/Line">...</xsl:for-each>.

Кстати,

<xsl:for-each select="Lines/Line">
  <xsl:copy-of select="."/>
</xsl:for-each>

может быть сокращено до <xsl:copy-of select="Lines/Line"/>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...