1

次のようなフィールドを作成する XSL ファイルがあります。

<ServiceText>
<xsl:value-of select="concat(Yrs,'-',Mos,'-',Days,'-',Hrs)" />
</ServiceText>

'Yrs,'-',Mos,'-',Days,'-',Hrs の値は、Web サービスの応答から受け取り、それを XSL に直接割り当てています。これらのフィールドのコード内のデータを変更することはできません。これが ocde であるためです。すべてのデータ操作は xslt 上にあります。

次のように、xslt でデータ フィルタリングを実行したいと考えています。

if value of yrs =-1 then yrs=""
if value of mos =-1 then mos=""
if value of Days =-1 then Days=""
if value of Hrs =-1 then Hrs=""

XSL ファイルでそれを行うにはどうすればよいですか?

4

2 に答える 2

0

XSLT 2.0:

<xsl:template match="/root">
    <ServiceText>
        <xsl:value-of select="string-join((Yrs, Mos, Days, Hrs)[.!=-1],'-')" />
    </ServiceText>
</xsl:template>

実際の例についてはリンクを参照してください

于 2013-03-22T20:55:08.783 に答える