Как получить имя, фамилию и имя в XSLT - PullRequest
0 голосов
/ 07 октября 2019

Я хочу, чтобы вы получили имя и фамилию.

Ввод:

<root>
  <ele name="Samp Huwani"/>
  <ele name="Gong Gitry"/>
  <ele name="Dery Wertnu"/>
</root>

Ввод

<names>S Huwani</name>
<names>G Gitry</name>
<names>D Wertnu</name>

Пробный код:

<xsl:template match="root/name">
  <names>
    <xsl:value-of select="@name" />
  </name>
</xsl:template>

Я использую XSLT 2.0. Спасибо

1 Ответ

0 голосов
/ 07 октября 2019

В данном примере вы можете использовать:

<xsl:template match="/root">
    <xsl:copy>
        <xsl:for-each select="ele">
            <name>
                <xsl:value-of select="substring(@name, 1, 1)"/>
                <xsl:text> </xsl:text>
                <xsl:value-of select="substring-after(@name, ' ')"/>
            </name>
        </xsl:for-each>
    </xsl:copy>
</xsl:template>

Однако имена часто не соответствуют одному и тому же шаблону.


В XSLT 2.0 вы можете упростить (?) это с помощью регулярных выражений, например:

<xsl:value-of select="replace(@name, '^(.{1}).* (.*)', '$1 $2')"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...