Установка пути в IXMLDOMDocument, который загружается из ОЗУ - PullRequest
0 голосов
/ 04 августа 2011

Я использую классический ASP. У меня есть таблица стилей, которая уже загружена в оперативную память. В чем проблема, мой XSLT имеет

<xsl:include href="../path to file/file.xslt" /> 

в нем.

Когда я загружаю его из ОЗУ в объект IXMLDOMDocument, относительный путь сбрасывается. Вот мой текущий код

set XSLTObj = Server.CreateObject("Msxml2.XSLTemplate")
set XSLTObj.stylesheet = myXSLTFile
set XSLTProc = XSLTObj.createProcessor

Теперь, поскольку файл XSLT загружен из ОЗУ, компьютер не знает, как определить относительный путь для тега xsl: include. Таким образом, он пытается вытащить файл отсюда: C: \ WINDOWS \ system32 \ Inetsrv

Мне просто нужен способ установить «путь по умолчанию» или каким-то образом смоделировать его. Вот несколько вариантов, о которых я подумал (которые я на самом деле не хочу делать):

  • Сохраните файл XSLT на диск, где я хочу, затем используйте XSLTObj.load
  • Загрузите «фиктивный» XSLT-файл, откуда я хочу, чтобы мой путь был, затем замените содержимое на XSLT-содержимое, которое находится в ОЗУ

Я бы действительно предпочел какой-то способ задать путь, который я хочу использовать вместо этого. Идеи?

1 Ответ

0 голосов
/ 05 августа 2011

В итоге я выбрал второй вариант из списка. Я загрузил XSLT-файл, который был сохранен в месте, где я хотел, чтобы мой относительный путь основывался на. Затем я выполнил команды removeChild для каждого дочернего элемента внутри объекта документа. Затем я сделал cloneNode с последующим appendChild для каждого ребенка, который был в XSLT в RAM.

Я не уверен, что это была лучшая трасса, но она достигла того, что я искал.

...