2

XML ドキュメントで、<TextBlock>画像を含む のコンテンツを取得しています。XML は次を示します。

<img src="/templates_soft/images/facebook.png" alt="twitter" />

ページを表示すると、元のページと同じパスにないため、画像が表示されません。

画像を表示するには、残りの URL を追加する必要があります。http://www.mypage.com/画像が表示されるようなものhttp://www.mypage.com/templates_soft/images/facebook.png

これを行う方法はありますか?

4

2 に答える 2

2

使用:

<img src="{$imageBase/}templates_soft/images/facebook.png" alt="twitter" />

ここで、名前付きの xsl:variable$imageBaseは、必要なプレフィックスを含むように定義されています (あなたの場合は"http://www.mypage.com")。

完全な XSLT ソリューションは次のとおりです。

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:param name="pimageBase" select="'http://www.mypage.com'"/>

    <xsl:template match="img">
   <img src="{concat($pimageBase, @src)}" alt="{@alt}"/>
  </xsl:template>
</xsl:stylesheet>

この変換が次の XML ドキュメントに適用された場合:

<img src="/templates_soft/images/facebook.png" alt="twitter" />

必要な正しい結果が生成されます。

<img src="http://www.mypage.com/templates_soft/images/facebook.png" alt="twitter"/>
于 2011-01-18T17:04:10.230 に答える
0

XSLT を使用する場合は、必要に応じて URL 全体を含む XML を作成し、XSLT にタグを付けて、XML ファイル内の元のフィールドへの「ポインター」が含まれるようにします。グリッドなどのコントロールにバインドしている場合、XSLT よりも簡単であれば、行をバインドしてその時点で情報を追加できます。

于 2011-01-18T17:03:16.337 に答える