XSL を使用して、ブラウザーで電子メール メッセージの XML 表現を表示しています。電子メールの添付ファイルは、メインの電子メール XML ファイルとは別のファイルに保存されるため、電子メールの結果の Web ページに添付ファイルへのリンクを含めたいと考えています。
ただし、一部の添付ファイルは電子メール メッセージ自体であり、転送または返信であった可能性があるため、FW:Importantのようなコロンを含む名前になっている場合があります。名前は FW%3AImportant として URL エスケープされ、 FW%3AImportant.xmlとしてファイルとして保存されます。
問題は、XSL で生成された Web ページの URL がエスケープされておらず、再びコロン ( file://FW:Important.xml ) が含まれているため、リンクが壊れていることです。この動作を停止する最良の方法は何ですか?
XML スニペットは次のとおりです。
<email:part email:filename="FW%3AImportant">
<email:attachment filename="FW%3AImportant.xml">
FW%3AImportant.xml
</email:attachment>
</email:part>
XSL スニペットは次のとおりです。
<xsl:template match="email:email/email:parts">
<xsl:for-each select="email:part/email:attachment">
<a>
<xsl:attribute name="href">
<xsl:value-of select="@filename" />
</xsl:attribute>
<xsl:value-of select="@filename" />
</a>
</xsl:for-each>
</xsl:template>