2

要素に 433554567643 という値があります。それを 43 35545 67643 に変更したいと思います。グループ化は値の右側から開始する必要があります。値の末尾から先頭までサブストリングを使用することは可能ですか?

ありがとう。

4

2 に答える 2

3

再帰テンプレートを使用してこれを行うことができます。

<xsl:template name="add-spaces">
  <xsl:param name="group" select="5" />
  <xsl:param name="text" />
  <xsl:if test="string-length($text) &gt; $group">
    <xsl:call-template name="add-spaces">
      <xsl:with-param name="group" select="$group" />
      <xsl:with-param name="text"
              select="substring($text, 1, string-length($text) - $group)" />
    </xsl:call-template>
    <xsl:text> </xsl:text>
  </xsl:if>
  <xsl:value-of select="substring($text, string-length($text) - $group + 1)" />
</xsl:template>

必要なときにこれを呼び出します

<xsl:call-template name="add-spaces">
  <xsl:with-param name="text" select="'433554567643'" />
  <!-- or select="path/to/element" as appropriate -->
</xsl:call-template>
于 2013-09-30T10:07:48.303 に答える