0

<xsl:choose> <xsl:when test="position() != last()"> </xsl:when> </xsl:choose>

EMD Rpl 関数で last() 関数を使用しようとしていますが、機能していません

4

1 に答える 1

0

Responys EMD が FreeMarker をどのように構成するかはわかりません。また、Oracle が独自の FreeMarker フォークを使用することもありましたが、これはおそらく非常に古いバージョンに基づいている可能性があります。しかし、私はそれが通常/最新の FreeMarker として機能すると仮定しますが、おそらくそうではありません。

XPath 関数をsomeElement['position()']呼び出すと、何らかの理由で常に -1 が返されます。ただし、要素を#listでリストする場合は、次のように を使用できます?is_last(データ モデルにhttps://try.freemarker.apache.org構文を使用)。

データ・モデル:

doc=<root>
      <a>text 1</a>
      <a>text 2</a>
    </root>

テンプレート:

<#list doc.root.a as a>
  ${a}
  <#if a?is_last>
    That was the last one.
  </#if>
</#list>

これは次を印刷します:

text 1
text 2
  That was the last one.

#list(など、に関連するアイテムの位置に基づいて何かを行うための優れた機能もありますが、#sepFreeMarker のドキュメントを参照してください。)

Outside#listでは、どこかから要素を取得しただけの場合、最後の要素myElement@@next_sibling_element[0]??が返されます。false

于 2019-09-14T13:35:20.407 に答える