Hallo,
ich frage mich ob das folgende machbar ist:
Vom Webserver wird eine XML-Datei geliefert, die dann mit XSLT im Browser nach HTML gewandelt wird.
Ist es möglich das Ausgangs-XML (und nicht etwa das generierte HTML) dynamisch mit DOM zu ändern und eine entsprechend aktualisierte Darstellung im Browser zu erhalten?
Nein.
Begründung: weil du es im Browser machen willst. Entweder versuchst du dein XML mit Hilfe von JavaScript (im Browser hast du keine andere Mögilchkeit mit DOM zu arbeiten) zu manipulieren, oder du machst eine XML/XSL-TRansformation: in dem Fall hast du schilcht HTML wobei im Mozilla einie Beschränkungen hast (da kannst du dein HTML nachher auch nicht mit JavaScript bearbeiten, da Mozilla das Ergebnis der Transformation schlicht ausgibt (serialisiert), wogegen der IE das Ergebnis-HTML nochmal als HTML parst.
Zu Erklärung:
Mir schwebt vor, dass das Ausgangs XML etwa so aussieht:<section> Einleitung ...
<section> Abschnitt 1 ... </section>
<section> Abschnitt 2
<section> Abschnitt 2.1 </section>
</section>
</section>Also ein relativ einfaches XML-Format.
Einfach, aber schlecht.
Das HTML kann ich (wahrscheinlich) mit DOM manipulieren (notwendig z.B. beim Verschieben eines Abschnitts).
Im IE ja, im Mozilla nicht.
Wesentlich eleganter wäre es, das Original-XML per DOM zu manipuliert und den Browser dazu zu bringen kann daraus erneut HTML zu generieren.
Wenn du dabei nicht verrückt werden möchtest, mache das serverseitig.
Geht das überhaupt und ist es sinnvoll?
Ob es geht: vielleicht, aber nur vielleicht. Sinnvoll ist das nicht, wenn du es im Browser machen willst.
»»(Laufzeit? Speicherbedarf?)
Das hängt von der Größe der XML-Datei ab.
Als Alternative kann man natürlich eine aktualisierte Seite vom Browser laden lassen, aber das möchte ich nach Möglichkeit vermeiden.
Das wäre aber bei deiner Anforderungen die weitaus einfachere und schnellere Lösung.
Grüße
Thomas