Установка пути в IXMLDOMDocument, который загружается из ОЗУ

Я использую классический 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 ответ

Решение

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

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

Другие вопросы по тегам