0

変換するには、ダブリンコア xml に xsl を適用する必要があります

<dc:description> blahblah </dc:description>

次のようなもので:

<descriptions>
 <description descriptionType="Abstract"> blahblah </description>
</descriptions>

私はこれをテストしていますが、要素が空の場合、何も表示したくありません。<descriptions/>

これをどのように修正する必要がありますか?

       <xsl:if test="dc:description">
            <descriptions>
                <xsl:for-each select="dc:description">
                <xsl:variable name="description" select="."/>
                <xsl:if test="$description !=''">
                    <description descriptionType="Abstract">
                        <xsl:value-of select="."/>
                    </description>
                </xsl:if>
                </xsl:for-each>
            </descriptions>
        </xsl:if>
4

1 に答える 1

0
<xsl:if test="dc:description/text()">

空でない が少なくとも 1 つある場合にのみ true にする必要がありますdc:description。または、内側の if と say で行うのと同じテストを再利用します

<xsl:if test="dc:description != ''">

一方の側がノード セットである!=テストは、値がもう一方の側であるノードがセット内にある場合!=に成功します(そのためx != ynot(x = y)x と y のいずれかまたは両方がノード セット)。

于 2012-10-24T15:47:22.800 に答える