XSLT Transformation "ohne Server"

Status
Nicht offen für weitere Antworten.

byte

Top Contributor
Hallo,

folgendes Problem: ich habe eine XSLT Datei geschrieben zu XML-Dateien, die über das Internet erreichbar sind. Ich möchte nun ohne Java Webserver die Transformation auf einer HTML Seite durchführen. Leider funktioniert das ganze bei mir nur unterm Internet Explorer, ich schätze mal wegen dem ActiveX Kram.

Code:
<script type="text/javascript">

// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("http://www.hier.de/die/externe/datenquelle.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("stylesheet.xsl")

// Transform
document.write(xml.transformNode(xsl))

</script>


Gibts da vielleicht eine Allround Lösung, die auch unter den anderen gängigen Browsern (vor allem Firefox) funktioniert? Wenn nein, gibt es unterschiedliche browserabhängige Lösungen, so dass man per Javascript erstmal den Browser checkt und dann die spezifische Transformation macht? Achso, folgende triviale Lösung kommt natürlich nicht in Betracht, der XML-Datei folgende Zeile hinzuzufügen:

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

weil die XML-Datei wie gesagt extern im Netz liegt.


Ich weiss, das Problem ist eher ein HTML/Javascript Problem. Bei Bedarf muss ein Mod den Thread halt verschieben. ;)

MFG
 

Bleiglanz

Gesperrter Benutzer
das versteh ich nicht
Code:
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
sollte doch ohne Probleme funktionieren, dein Code macht ja auch nix anderes
Code:
[url]http://www.hier.de/die/externe/datenquelle.xml[/url]
// holt datenquelle.xml vom entfernten Host
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
// holt automatitsch 
[url]http://www.hier.de/die/externe/stylesheet.xsl[/url]
 

byte

Top Contributor
Ich hab mich vielleicht ein bißchen unschön ausgedrückt. Mein Problem ist ja folgendes: klar könnte ich der XML-Datei ein Stylesheet zuweisen mit der o.g. Zeile. Aber dafür müsste ich ja die (externe) XML-Datei bearbeiten. Da sich die aber ständig ändern kann, wäre das doch etwas unschön. Der obige Code macht im Prinzip auch nix anderes, das stimmt. Aber es funktioniert, ohne der XML-Datei explizit das Stylesheet zuzuweisen, leider dank ActiveX nur auf dem MS Internet Explorer.

Die externe XML-Datei ist immer über die selbe Adresse im Netz verfügbar, ändert sich aber alle paar Stunden. Das Stylesheet ist immer gleich und macht ne HTML-Transformation zur Repräsentation der Daten im Browser.
 

Bleiglanz

Gesperrter Benutzer
wenn sich die xml Datei nur alle paar stunden ändert dann wärs am besten sie gleich nach der änderung am server durch einen xslt prozessor zu jagen und html daraus zu machen?

zweitbeste lösung wärs, die <?xml-stylesheet direktive ins xml mit aufzunehmen (stört ja nicht), das können die meisten aktuellen browser ohne probleme auflösen

drittbeste ist wohl javascript: wenn du dich durch den aktuellen AJAX-Hype-Geschwurbel-Wust durchgoogelst, findest du bestimmt eine Crossbrowser Implementierung für dein Problem
 

byte

Top Contributor
Bleiglanz hat gesagt.:
wenn sich die xml Datei nur alle paar stunden ändert dann wärs am besten sie gleich nach der änderung am server durch einen xslt prozessor zu jagen und html daraus zu machen?

Auf den Server und die Aktualisierung der XML-Datei habe ich keinen Einfluß.

zweitbeste lösung wärs, die <?xml-stylesheet direktive ins xml mit aufzunehmen (stört ja nicht), das können die meisten aktuellen browser ohne probleme auflösen

Stören tuts nicht, aber ich will mich ja nicht alle paar Stunden hinsetzen, die XML-Datei runterladen und per Hand die Direktive einfügen, damit meine Transformation per Browser funktioniert. :roll:

drittbeste ist wohl javascript: wenn du dich durch den aktuellen AJAX-Hype-Geschwurbel-Wust durchgoogelst, findest du bestimmt eine Crossbrowser Implementierung für dein Problem

Habe grade erfahren, dass der Webserver PHP kann. Ich werde mal schauen, wie/ob man das mit PHP realisieren kann. Denn eigtl. hasse ich JavaScript und habs bei mir zum größten Teil deaktiviert. :D

Trotzdem danke. ;)
 

Bleiglanz

Gesperrter Benutzer
sollte mit der neueren php auch kein problem das am Server zu machen

Code:
<?php
// so ungefähr der Standardweg
$xml = new DOMDocument;
$xml->load('http://www.hier.de/die/externe/datenquelle.xml');
$xsl = new DOMDocument;
$xsl->load('http://www.hier.de/die/externe/stylesheet.xsl');
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
?>
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W xslt zum Rausfiltern von Feldern in XML wenn variable gleich false XML & JSON 7
W xslt zum Entfernen von unnoetigen Nullkommastellen bei double und float XML & JSON 26
K XML und XSL bzw XSLT XML & JSON 1
R String in XSLT teilen XML & JSON 3
R Script in XSLT einbinden XML & JSON 2
K aus 2XML mache 1XML mit XSLT XML & JSON 4
G xslt Attributwerte von bestimmten Elementen XML & JSON 2
S Xslt Problem XML & JSON 2
K docBook XSLT: HTML Code Snippet in Erzeugte HTML Dokument einfügen XML & JSON 9
T XML + XSLT to PDF mit FOP-Engine XML & JSON 14
E FOP - XSLT Transformierung mit Parametern XML & JSON 4
R '&' Zeichen im XSLT XML & JSON 4
S byte array in xslt umwandeln XML & JSON 7
B XSLT collections ? XML & JSON 2
Raidri JSP Parameter an XSLT übergeben XML & JSON 2
K XSLT Frage XML & JSON 4
S Guter XSLT - Transformator XML & JSON 2
slawaweis Problem mit XSLT (wahrscheinlich ein Bug in Java 6) XML & JSON 16
G XSLT-Stylesheet XML & JSON 2
N jdom - xslt-Verweis in .xml einfügen XML & JSON 3
B anzeigen des XML+ XSLT Ergebnisses XML & JSON 21
N XML zu XSLT XML & JSON 2
N XSLT Testmethoden XML & JSON 2
M Java und XSLT: Performanz-Problem XML & JSON 5
cybermat Ergebnis einer XSLT-Tansformation als Rückgabewert erhalten XML & JSON 4
A Wie hängen SAX/DOM mit XSLT zusammen? XML & JSON 3
Noar XSLT - Element-Wrapping XML & JSON 2
byte XSLT Editor ? XML & JSON 7
P XSLT in Java verwenden XML & JSON 7
A XSLT oder Java? / XML-Tools XML & JSON 2
T XSLT Parameter übergeben und Ergebnis empfangen XML & JSON 1
W Kein Carriage return in xml Transformation einfuegen XML & JSON 4
nrg Schnittstellenimplementierung XML-Transformation XML & JSON 1
R Transformation vom XML zu XML XML & JSON 2
G XSL-Transformation erzeugt Output obwohl keiner erzeugt werden soll XML & JSON 10
G XML-Transformation mit Fortschrittsanzeige XML & JSON 36
X Ersetzung bei XSL Transformation XML & JSON 2
M XSL-File für Transformation verwenden XML & JSON 3
P Verwenden von SAX zur Transformation XML & JSON 2
S Transformation der SQL-Ergebnissen in XML-Format XML & JSON 3
C JDOM: Value ohne Unterelemente auslesen XML & JSON 1
L Mit Hilfe von POI eine Tabelle ohne Rahmen in Word schreiben XML & JSON 2
S JDOM ohne XML Header erzeugen? XML & JSON 2
S Validierung mit JAXB2 ohne root-element XML & JSON 10
G JDOM - aus Children-Liste ein Child direkt ansprechen ohne XPath? XML & JSON 9
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
L xml Datei parsen ohne End-Tag XML & JSON 6
D Java DOM Ausgabe ohne XML header XML & JSON 4
R Parsen einer XML ohne Validierung XML & JSON 2
F JDOM und XPath - Problem mit Namespace ohne Prefix XML & JSON 5
M Best Practices für Data Binding ohne Hilfstools XML & JSON 14
B jdom outputter ohne attribute XML & JSON 2
M JDOM Element ohne Inhalt kopieren ? XML & JSON 3
T SOAP mit Java ohne HTTP Server möglich? XML & JSON 3
B XML öffnen, bearbeiten, speichern ohne JDOM XML & JSON 4

Ähnliche Java Themen

Neue Themen


Oben