Firefox 3 и XML / XSLT - PullRequest
       13

Firefox 3 и XML / XSLT

1 голос
/ 02 июня 2009

Firefox 3 и XML / XSLT

Я относительно новичок в разработке веб-приложений с обработкой на стороне клиента в Firefox. У меня есть несколько простых вопросов, касающихся использования XML / XSLT в Firefox. Я отправляю исходный документ XML со ссылкой XSLT в браузер. Браузер успешно преобразует XML в XHTML с помощью указанной таблицы стилей XSLT.

Это хорошо работает как в Internet Explorer 6+, так и в Firefox 3+. Теперь я должен внести изменения в документ XML и таблицу стилей XSLT в JavaScript, а затем преобразовать XML в HTML. Я не смотрю на создание XML-документа или получение его из AJAX HTTPRequest. Меня интересует только исходный XML-документ, отправленный в браузер.

С IE это ясно. В Firefox у меня возникают трудности, вероятно, из-за отсутствия документации. Для выполнения нового преобразования в JavaScript вам понадобятся два объекта и одна операция:

Объект / Операция -> В Internet Explorer 6+ JavaScript

Исходный XML-документ, отправленный в браузер -> document.XMLdocument

Исходный документ XSLT, на который есть ссылка в XML через xml-stylesheet -> document.XSLdocument

Преобразование XML с помощью XSLT для получения нового вывода HTML ->
document.XMLdocument.documentElement.transformNode (document.XSLdocument)

То, что я ищу, является эквивалентом этих 3 понятий в Firefox 3 DOM. Я провел довольно исчерпывающий поиск в сети и нашел способы манипулирования XML, но не исходные документы XML и XSL.

Кто-нибудь может указать мне правильное направление? Спасибо.

1 Ответ

0 голосов
/ 22 июня 2009

Emle - Лабораторное оборудование электронной математики Файл Javascript emle_lab.js использует parseFromString () для создания документа из строки:

  var inputText = '<?xml version="1.0" encoding="UTF-8"?>' +
    '<emle xmlns="http://emle.sf.net/emle02">' +
    '  <lab refid="' + aLabId + '"></lab>' +
    '</emle>';
  var inputDoc = new DOMParser().parseFromString(inputText, "application/xml"); 
  var xsltDoc = emleHttpGetXML('emle_lab.xsl'); 
  var processor = new XSLTProcessor();
  processor.setParameter(null, 'emleLang',  aLang);
  processor.importStylesheet(xsltDoc);
  var outputDoc = processor.transformToDocument(inputDoc.firstChild);
...