Полный новичок. Заранее спасибо. Вот оно:
Я пытаюсь преобразовать XML-документ с помощью таблицы стилей XSL, а таблица стилей XSL ссылается на файл CSS. Когда я открываю файл XML со своего компьютера в браузере (Chrome), данные отображаются правильно после файлов XSL и CSS. У меня также есть математические функции javascript внутри таблицы стилей XSL, чтобы взять элемент из файла XML и умножить его на разные проценты. Эта математика тоже работает.
Но когда я пытаюсь использовать Javascript (ниже) для загрузки/преобразования XML-документа в HTML, стиль XSL проходит, но CSS отключен. В Chrome отображается макет страницы из CSS. Но размер шрифта слишком мал, и фоновое изображение не появляется. Независимо от того, что я меняю в CSS, шрифт едва читается, он такой маленький. В IE CSS вообще не отображается.
Кроме того, Javascript, похоже, скрывает данные xml, что, я думаю, плохо для SEO.
У кого-нибудь есть советы/разные подходы? Я не могу использовать ASP, потому что мой веб-сервер этого не позволяет, но что-нибудь еще.
Вот скрипт из моего html-документа:
<html>
<head>
<script>
function loadXMLDoc(dname) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}
function displayResult() {
xml = loadXMLDoc("WORKS.xml");
xsl = loadXMLDoc("WORKS.xsl");
// code for IE
if (window.ActiveXObject) {
ex = xml.transformNode(xsl);
document.getElementById("example").innerHTML = ex;
}
// code for Mozilla, Firefox, Opera,etc.
else if (document.implementation &&
document.implementation.createDocument) {
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>
Ведра Мерси.
Алан