und xml und JS
Thorsten F.
- xsl
Hallo Leute,
ich hatte mal eine Javascript-Funktion mit der ich eine XSL- und eine XML-Datei automatisch in eine HTML "umwandeln" konnte.
Also eine Html Datei in der nur Javascript-Code stand und die mir beim Aufruf die entsprechende XSL und XML einlas und eine HTML ausgab.
Nur finde ich den Code nicht wieder und ich weiß auch, dass ich mir den nicht mehr selber zusammenreimen kann.
Weiß jemand Rat?
Gruß,
Thorsten F.
Hallo,
Nur finde ich den Code nicht wieder und ich weiß auch, dass ich mir den nicht mehr selber zusammenreimen kann.
In diesem Beispiel ist eine MSXML-Umsetzung enthalten (zum Testen ggf. lokal verwenden).
MfG, Thomas
Hallo,
ich hatte mal eine Javascript-Funktion mit der ich eine XSL- und eine XML-Datei automatisch in eine HTML "umwandeln" konnte.
Also eine Html Datei in der nur Javascript-Code stand und die mir beim Aufruf die entsprechende XSL und XML einlas und eine HTML ausgab.
Nur finde ich den Code nicht wieder und ich weiß auch, dass ich mir den nicht mehr selber zusammenreimen kann.
Siehe unten!
Grüße
Thomas
----------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>XML-XSL-Transformation aus HTML mittels Javascript ausfüren</title>
<script language="JavaScript" type="text/javascript">
var XMLDatei = "javascript.xml"; // Pafad zur XML-Datei
var XSLDatei = "javascript.xsl"; // Pafad zur XML-Datei
var XMLEingabe;
var XSLEingabe;
var HTMLAusgabe;
function transformation() {
// Abfrage für den Internet Explorer
if (window.ActiveXObject) {
// XML laden
XMLEingabe = new ActiveXObject("MSXML2.DOMDocument");
XMLEingabe.async = false;
XMLEingabe.load(XMLDatei);
// XSL laden
XSLEingabe = new ActiveXObject("MSXML2.DOMDocument");
XSLEingabe.async = false;
XSLEingabe.load(XSLDatei);
// generierten HTML-Code ausgeben
HTMLAusgabe = XMLEingabe.transformNode(XSLEingabe.documentElement);
document.getElementById("ausgabe").innerHTML = HTMLAusgabe;
}
// Abfrage für Mozilla / Netscape
else if (window.ChromeWindow) {
// Im Mozilla erst XSL laden
var Processor = new XSLTProcessor();
XSLEingabe = new XMLHttpRequest();
XSLEingabe.open("GET", XSLDatei, false);
XSLEingabe.send(null);
XSLEingabe = XSLEingabe.responseXML;
Processor.importStylesheet(XSLEingabe);
// XML laden
XMLEingabe = new XMLHttpRequest();
XMLEingabe.open("GET", XMLDatei, false);
XMLEingabe.send(null);
XMLEingabe = XMLEingabe.responseXML;
// generierten HTML-Code ausgeben
HTMLAusgabe = Processor.transformToFragment(XMLEingabe, document);
document.getElementById("ausgabe").appendChild(HTMLAusgabe);
}
else
alert("Ihr Browser unterstützt keine XML-XSL-Transformation");
}
</script>
</head>
<body onload="transformation();">
<h1>XML-XSL-Transformation aus HTML mittels JavaScript ausfüren</h1>
<h2>Ergebnis der Transformation:</h2>
<hr>
<div id="ausgabe"></div>
<hr>
</body>
</html>