0

このようなものを作成したい

<xsl:variable name="content" select="sc:item('{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}',.)" />


ただし、ユーザーがいくつかの項目を選択した後に ID が決定されます。では、それを行うための正しい構文は何ですか?

私はいくつか試しました:

<xsl:variable name="content"><xsl:value-of select="bla bla bla" /> </xsl:variable>
<xsl:variable name="content" select="sc:item(&lt;value-of select="bla bla bla" &gt;,.)" />


しかし、それを正しくする運はありません。

4

1 に答える 1

1

ここで何を達成しようとしているのかわかりませんが、XSL では、作業しているアイテムの ID またはパスを取得して sc:item 関数に渡す必要があります。たとえば、次のようなものを使用できます。

<xsl:variable name="content" select="sc:item($sc_currentitem/@id,.)" />

または、アイテムのリストを使用して、次のようにループすることもできます。

<xsl:for-each select="$itemList/item">
  <xsl:value-of select="@id" />
</xsl:for-each>

編集:

ツリーリストから選択したアイテムを取得する場合は、複数のアイテムを選択でき、ID はパイプ文字で連結されます。次のようなコードを使用して、itemID を読み取り、対応するアイテムを取得できます。

<xsl:for-each select="sc:Split('FieldName',$sc_currentitem)">
   <xsl:variable name="item" select="sc:item(text(), $sc_currentitem)" />
   <xsl:value-of select="$item/@name" /><br />      
</xsl:for-each>

この部分にはアイテムの名前が表示されるだけですが、もちろん好きなことをすることができます。

それでもうまくいかない場合は<xsl:value-of select="@id" />、for-each 内で使用して、選択した項目の ID などの値を画面に出力してみてください。

于 2013-02-06T08:30:53.823 に答える