Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT: картинка из CDATA / 7 сообщений из 7, страница 1 из 1
14.06.2008, 14:23
    #35373028
Musuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
Здача: сериализовать файл картинки в XML-документ, затем с помощю XSLT преобразования получить файл картики.
Сохраняю картинку в CDATA секции, в base64 формате.

Код: plaintext
1.
2.
<file name="x.bmp">	
<![CDATA[Qk2uAAAAAAAAA]]>
</file>

Теперь мне нужно XSLT преобразование, которое бы вернуло мне документ в формате bmp.
В коде я это могу сделать функцией
Код: plaintext
Convert.FromBase64String
но как это проделать в XSLT? Какие у кого есть идеи?
...
Рейтинг: 0 / 0
15.06.2008, 05:33
    #35373344
prof_nimnul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
В XSLT нет функций декодирования base64. Можно написать декодирование, используя строковые функции XSLT, но код будет архисложным, и оно будет работать очень медленно. Я бы не использовал для подобных задач XSLT.
...
Рейтинг: 0 / 0
16.06.2008, 13:58
    #35374486
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
нельзя, пока хслт поддерживает лишь три типа выходных документов: xml, html, text.
...
Рейтинг: 0 / 0
16.06.2008, 13:58
    #35374489
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
но есть текстовый формат изображений xpm
...
Рейтинг: 0 / 0
16.06.2008, 20:01
    #35375520
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
Musukно как это проделать в XSLT? Какие у кого есть идеи?
Я делал так - пишешь ActiveX, который на входе получает base64 строку, декодирует ее, сохраняет на диске файл и возвраoftn имя этого файла в XSL дергаем этот ActiveX через <ms:script>, ну и при помощи
Код: plaintext
1.
2.
3.
4.
<xsl:element name="img">
  <xsl:attribute name="src>
    <xsl:value-of select="..."/>
  </xsl:attribute>
</xsl:element>
отображаем ее

P.S. В событии body.onunload() не забываем удалить файл с диска
...
Рейтинг: 0 / 0
20.06.2008, 18:19
    #35385917
Musuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
Нет, ActiveX - слишком сложно. Я подумывал уже использовать возможность MSXML применять скрипты на C# или VB, но это оказалось слишком медленно.
...
Рейтинг: 0 / 0
20.06.2008, 21:54
    #35386164
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSLT: картинка из CDATA
MusukНет, ActiveX - слишком сложно
Ну тогда извините
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT: картинка из CDATA / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]