xsltを介して画像の相対パスを絶対パスに変換する方法を概念化するのに苦労しています。
現在、<myHTML>
HTML エンコードされたテキストを保持するセクションを持つ XML ドキュメントが存在します。この HTML ドキュメントには、相対パスのタグが含まれている場合があり<img>
ます。例:<img src="myPic.jpg>
次のようなブロックでそのセクションを処理する xsl もあります。
<div id="bodyText">
<xsl:value-of select="/abc:myT/abc:myHTML" disable-output-escaping="yes">
</div>
イメージ名の先頭に絶対パスを追加する必要があります。html ブロック全体が 経由value-of select
でアクセスされているため、これを攻撃する方法がわかりません。
<img>
パスを渡すには xsl 入力パラメーターを使用する必要があると思いますが、内のタグにアクセスする方法がわかりません<myHTML>
。
アドバイスをいただければ幸いです。
アップデート
XML ファイルの形式と、「html エンコードされたテキスト」の意味についていくつか質問がありました。タイプミスは無視してください。以下のチャンクはメモリからのもので、実際の xml ファイルを表しています。ブロックHtmlEncode()
内のデータを説明するためのものです。<myHTML>
<?xml version="1.0" encoding="UTF-8">
<?xml-stylesheet ...snipped..>
<myT xmlns="abc">
<myHTML>
<html$gt;<head$gt;<title$gt;This is my title</title$gt;</head$gt;
<body$gt;
<img src="myPic.jpg" /$gt;
</body$gt;</html$gt;
</myHTML>
</myT>
さらに、Dimitre が指摘したように、私は .NET を使用しており、それは XSLT 1.0 プロセッサです。