Как правильно обработать XSL-преобразование в IE и получить результат в виде фрагмента документа - PullRequest
2 голосов
/ 22 марта 2011

Мне нужно сделать XSL-преобразование в браузере, используя JavaScript.

Когда я делаю это в современных браузерах, таких как FF или Chrome, я могу сделать что-то вроде этого:

     var proc = new XSLTProcessor();
     proc.importStylesheet(xslDoc);
     return proc.transformToFragment(xmlDoc, targetDocument);

Но с IE я могу преобразовать только в новый документ

     var newDoc = new ActiveXObject("Microsoft.XMLDOM");
     xmlDoc.transformNodeToObject(xslDoc, newDoc);
     return newDoc;

... или преобразовать в текст

     return xmlDoc.transformNode(xslDoc);

Преобразование в текст, приводящее к огромным проблемам с перфорацией (мне нужно добавить результат в дерево DOM моего текущего документа), преобразование в новый документ, приводящий, наконец, к принятию / importNode.

Есть ли лучший способ сделать XSL-преобразование в IE с последующим добавлением результата в дерево DOM?

1 Ответ

0 голосов
/ 28 июня 2013

Просто идея ... почему бы не добавить эту строку в ваш XML-файл:

<?xml-stylesheet type="text/xsl" href="your_stylesheet_file.xsl"?>

как показано здесь: http://www.w3schools.com/xsl/xsl_transformation.asp

Это позволит браузеру выполнить преобразование, а затем вы загрузите этот xml в iframe, который вы проанализируете?

<iframe src="your.xml" onload="parse_it()" ></iframe>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...