2012-01-20 7 views
2

私のようにSharePointデザイナー2010年にXSLTファイルで定義されたキーがあるとします。

@Dateが列である
<xsl:key name="Years" match="/dsQueryResponse/Rows/Row" use="@Date" /> 

を、しかし、代わりに@Dateの、私は次の変数の値を使用したい:

<xsl:variable name="VarNAme"> 
     <xsl:choose> 
      <xsl:when test="string-length(@Date) = 8"> 
       <xsl:value-of select="substring(@Date, 5, 4)"></xsl:value-of> 
      </xsl:when> 
      <xsl:when test="string-length(@Date) = 9"> 
       <xsl:value-of select="substring(@Date, 6, 4)"></xsl:value-of> 
      </xsl:when> 
      <xsl:otherwise> 
       <xsl:value-of select="substring(@Date, 7, 4)"></xsl:value-of> 
      </xsl:otherwise> 
     </xsl:choose> 
</xsl:variable> 

日付からちょうど年を得るために良い方法(1ライナー)がある場合は、私もそれを歓迎します。助けてください、generate-idを使用して別の年(日付、年ではありません)を取得します。

本当にありがとうございます。

+1

私の知る限り、SharePointで使用されるXSLTプロセッサは、XSLT 1.0プロセッサです。 –

答えて

4
<xsl:key 
    name="Years" 
    match="/dsQueryResponse/Rows/Row" 
    use="substring(@Date, string-length(@Date) - 3, 4)" 
/> 

ヒント

 
8 - 3 = 5 
9 - 3 = 6 
10 - 3 = 7 

;-)

+0

GENUIS !!ありがとう、私はそれをテストしてみましょう待って、それは働いた、私はなぜそれをしなかったのか分からない..私は6分で答えを受け入れることができないので、私は明日それを受け入れるよ! Tomalak、* Virtual Hug * – anpatel

+0

@マイ・ネーム:どうぞよろしくお願いいたします。時には木が見えにくいこともあります。 ;) – Tomalak

+0

同上! ~~~~~~~~~ – anpatel

関連する問題