XSLT: создание изображения из содержимого base64 и ссылки на него из тега img в jtextpane - PullRequest
1 голос
/ 30 марта 2011

Я использую этот подход для создания изображения в преобразователе xsl: XSLT: преобразование данных base64 в файлы изображений

Моя проблема в том, что теперь мне нужно создать тег IMG, которыйссылается на созданное изображение.Вот что я сделал:

<!-- CREATE TEMP IMAGE -->
<xsl:variable name="b64" select="b64:new(string(./swe:Text/swe:value))"/>
<xsl:variable name="fos" select="fos:new(string('./temp.jpeg'))"/>
<xsl:value-of select="fos:write($fos, b64:getBinaryValue($b64))"/>
<xsl:value-of select="fos:close($fos)"/>
<a>
    <xsl:attribute name="href">
        <xsl:value-of select="concat('./temp', '.jpeg')"/>
    </xsl:attribute>
    <img>
        <xsl:attribute name="src">
            <xsl:value-of select="concat('./temp', '.jpeg')"/>
        </xsl:attribute>
        <xsl:attribute name="align">TOP</xsl:attribute>
        <xsl:attribute name="width">100</xsl:attribute>
        <xsl:attribute name="height">75</xsl:attribute>
    </img>
</a>

Я беру вывод сверху и отображаю его в JTextPane, но изображение всегда повреждено.

Я думаю, что это проблема с относительнымпуть, но я не знаю, как получить абсолютный путь из xsl.

РЕДАКТИРОВАТЬ: Хорошо, получается, что я не могу ссылаться на изображения относительно тега img, потому что JTextPanes не может справиться с этим.Я смог заставить это работать, используя следующее:

<xsl:variable name="b64" select="b64:new(string(./swe:Text/swe:value))"/>
<xsl:variable name="fos" select="fos:new(string(concat('/temp/', @name, '.jpeg')))"/>
<xsl:value-of select="fos:write($fos, b64:getBinaryValue($b64))"/>
<xsl:value-of select="fos:close($fos)"/>
<img>
    <xsl:attribute name="src">
        <xsl:value-of select="concat('file:///C:/temp/', @name, '.jpeg')"/>
    </xsl:attribute>
    <xsl:attribute name="align">MIDDLE</xsl:attribute>
    <xsl:attribute name="width">200</xsl:attribute>
    <xsl:attribute name="height">150</xsl:attribute>
</img>

но мне действительно нужно, чтобы оно было либо относительным, либо

мне нужно получить доступ к системному временному каталогу.

Кто-нибудь знает, как это?

...