парсинг нескольких строк в 1 строку в XSLT - PullRequest
0 голосов
/ 28 октября 2009
<xml>
   <data>
     <Attribute name='forms'>
        <List>
          <String>xform</String>
          <String>yform</String>
        </List>
      </Attribute>
    </data>
  </xml>

Как установить xslt, чтобы получить все значения в списке. Поэтому я хотел бы вывести оба значения в 1 строку, разделенную |. Например

XForm | yform

1 Ответ

1 голос
/ 28 октября 2009

Это всего лишь один способ, предполагая простой пример ввода.

<xsl:template match="/">
  <xsl:for-each select="//String">
    <xsl:value-of select="."/><xsl:if test="not(position() = last())">|</xsl:if>
  </xsl:for-each>
</xsl:template>

Вот более конкретное правило шаблона, если я понимаю добавленный вами комментарий. Было бы здорово, если бы человек, который прокомментировал использование last (), также разместил образец.

<xsl:template match="Attribute[@name='forms']">
  <xsl:for-each select="List//String">
    <xsl:value-of select="."/><xsl:if test="not(position() = last())">|</xsl:if>
  </xsl:for-each>
</xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...