Косяк при наложении xslt в firefox
От: sirophim  
Дата: 30.10.06 08:36
Оценка:
Здравствуйте, я на форумах новичок (всегда удавалось самому решать проблемы), но вот в этот раз не вышло. Проблема следующая: есть xml, на него накладывается xslt шаблон с output method="html", получаем строку с html и в всплывающем окне отображаем w.document.write(htmlstr). В ИЕ все отрабатывает как надо, а в фоксе документ отображается неполностью и в стаутсной строке постоянно висит, мол идет загрузка. Сам html генерится вроде нормально, заисключением косяков с закрывающими тегами, но это не главное. Если кто чем поможет, буду признателен, заранее спасибо.
Re: Косяк при наложении xslt в firefox
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 01.11.06 00:00
Оценка:
Здравствуйте, sirophim, Вы писали:

S>Здравствуйте, я на форумах новичок (всегда удавалось самому решать проблемы), но вот в этот раз не вышло. Проблема следующая: есть xml, на него накладывается xslt шаблон с output method="html", получаем строку с html и в всплывающем окне отображаем w.document.write(htmlstr). В ИЕ все отрабатывает как надо, а в фоксе документ отображается неполностью и в стаутсной строке постоянно висит, мол идет загрузка. Сам html генерится вроде нормально, заисключением косяков с закрывающими тегами, но это не главное. Если кто чем поможет, буду признателен, заранее спасибо.


исходники с втудию, плиз
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[2]: Косяк при наложении xslt в firefox
От: sirophim  
Дата: 01.11.06 10:43
Оценка:
Здравствуйте, kost-BebiX, Вы писали:

KB>исходники с втудию, плиз


происходит все следующим образом:

function getXMLDOMObject(url)
{
try
{
if (window.ActiveXObject)
{
var tmp = new ActiveXObject("Microsoft.XMLDOM");
tmp.async = false;
tmp.load(url);
return tmp;
}
else if (window.XMLHttpRequest)
{
var tmp = new XMLHttpRequest();
tmp.open('GET', url, false);
tmp.send(null);
return tmp.responseXML;
}
}
catch (e)
{
return false;
}
}

function applyTemplateObject(xml, template)
{
try
{
if (window.ActiveXObject)
{
return xml.transformNode(template);
}
else if (window.XMLHttpRequest && window.XSLTProcessor && window.XMLSerializer)
{
var processor = new XSLTProcessor();
processor.importStylesheet(template);
var tmp = processor.transformToFragment(xml, document);
var ser = new XMLSerializer();
return ser.serializeToString(tmp);
}
}
catch (e)
{
return e;
}
}

sourceorig = getXMLDOMObject(url1); //url1 — файл с xml
style = getXMLDOMObject(url2); //url2 — xslt шаблон

source = sourceorig.cloneNode(true);

w1 = window.open('', 'formwin', 'height=600, width=800, status, toolbar=no,menubar=no,resizable=yes,scrollbars=yes',false);
w1.document.write(applyTemplateObject(source, style));

Нужен ли xslt? Подозреваю, что дело не в нём
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.