Сначала краткое описание задачи:
Существует файл XML, который ссылается на таблицу стилей xsl, которая находится внутри * .dll.
Начало этого XML выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='res://name_xsl.dll/frameset.xsl'?>
Этот XML-файл можно открыть и отобразить в виде HTML в Internet Explorer и только в IE.
(Xsl преобразует xml в html)
Как вы можете видеть, это относится к системной папке win32 , в которой сохранен файл dll.
Ссылка с помощью "res: //" работает.
Но теперь я не хочу хранить свою dll в системной папке, а в другой папке , скажем,% ALLUSERSPROFILE% (переменная среды), например, в Windows XP это C: \ Documents and Settings \ All Users или в Win7 C: \ Users \ Public (не уверен насчет этого).
Как мне ссылаться на dll, лежащую в этой папке?
Можно ли сделать это с помощью переменных среды, чтобы они не зависели от системы?
Какое решение вы бы порекомендовали.
(Все данные HTML, XSL сохраняются локально в DLL на локальном компьютере.)
До сих пор я пытался изменить опорную линию следующим образом:
<?xml-stylesheet type='text/xsl' href='file:///c:/Documents and Settings/All Users/name_xsl.dll/frameset.xsl'?>
Я также попробовал то же самое с корневой папкой c: и даже без абсолютного пути, когда все файлы (xml и dll) находятся в одной папке.
Все попытки без res: // приводили к следующему сообщению об ошибке :
Система не может найти указанный ресурс.
Ошибка обработки ресурса 'file: /// C: / Documents and Settings / Все пользователи / name_xsl.dll / ...
или 'file: /// C: /name_xsl.dll/frameset.xsl'
Не могли бы вы мне помочь? Почему он не находит файл?
(имена файлов вымышленные)