• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

XML (+ XSL) in HTML einbinden

athena

New member
hallo!

ich möchte eine XML-Datei (mit XSL-Stylesheet) in eine HTML-Datei einbinden.
Leider hab ich keine Ahnung, wie das gehen kann und worauf ich da achten muss.

wär super, wenn mir jemand helfen könnte!

Vielen Dank,
LG, Maria
 
danke!!

mein Problem ist aber das das ich eine eigene externe XML-Datei (mit dazugehörigem XSL) in einer bereits vorhandene HTML-Datei anzeigen möchte.
z.B. alle Texte und grafischen Elemente stehen in der HTML, nur eine Tabelle (aus XML und XSL erstellt) wird extra eingebunden.

in etwa so wie in Perl:
<& tabelle.xml &>
.. nur leider gehts nicht so leicht.

LG, Maria
 
Grundsätzlich funktioniert das folgendermaßen:
in den Quelltext an die bevorzugte Stelle Deiner html-Datei fügst Du z.B. dies hier ein:
Code:
<xml id="keine_ahnung" src="dein_xml_inhalt.xml"></xml>
Da kannst Du auch eine absolute URL angeben.
 
hallo,

vielen Dank für deinen Tipp, leider funktioniert es immer noch nicht so wie gewünscht.

im xml:
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="buchhandel.xsl"?>
<buchhandel [B] id="test"[/B]>
<buch ersch-jahr="2000" kat="reisen">
......
im xsl:
Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head><title>Buchhandel</title></head>
<body>
im html:
HTML:
<xml id="test"  src="buchhandel.xml">
</xml>

ist das so richtig?

ich hab auch schon mit <object data="buchhandel.xml"></object> erumgespielt, da krieg ich aber nur die unformatierten Elemente, weil er anscheinend das Stylesheet ignoriert.
wenn ich das xml aber ganz normal im Browser aufruf, formatiert er alles richtig....

LG, Maria
 
Zuletzt bearbeitet:
Das ist korrekt.
Code:
<xml id="test" src="buchhandel.xml"> </xml>
Korrigiere mich bitte, falls ich das jetzt falsch verstanden habe.
Also, Du bindest eine einzelne Tabelle aus einer xml-Datei in eine html-Datei ein.
Damit verliert ja die xsl-Datei ihre Wirkung, weil sie ja eigentlich gar nicht mehr da ist.
Eventuell kannst Du ja die xsl-Datei in den Head der html-Datei einbinden, wie mit einer css-Datei.
Dann würde sie wieder greifen.
Oder habe ich das jetzt komplett falsch verstanden?
 
Zuletzt bearbeitet:
also, genau genommen, möchte ich die Daten, die in der xml-Datei gespeichert sind, als html-Tabelle darstellen lassen (--> über xsl) und diese dann in die normale html-Datei einbinden.
warum sollte die xsl-Datei hier ihre Wirkung verlieren?

leider funktioniert auch das mit dem Eintrag im Header nicht... es wird einfach gar nix angezeigt.
 
So oder so ähnlich sollte es aussehen.
Bin mir nicht ganz sicher, da ich erst mit sowas angefangen habe.
Eventuell hilft eine Suche bei Google weiter (externe Dateninsel).
Code:
<xml id="test" src="buchhandel.xml"></xml>
<table datasrc="#test"> 
<tr>
    <td><span datafld="2000"></span></td>
    <td><span datafld="reisen"></span></td>
</tr>
</table>
Das: datasrc="#test" ist nur für den IE bestimmt.
 
danke für deine Hilfe!

ich habe bereits im Web recherchiert und auch einiges gefunden, wie man xml in html darstellen kann.

jedoch möchte ich im Wesentlichen xslt-Funktionen anwenden können (for-schleifen, if-Klausel, Count....), was leider nicht möglich ist.......... oder?
 
Hallo Athena,
vielleicht kann ich Dir helfen, aber zuerst einmal ein paar Frage:
Willst Du etwas "browserübergreifendes" oder nur für's Intranet mit einem Browser?
Wenn's um den MSIE geht, könnt ich Dir eventuell helfen. FF sollte das mittlerweile auch können, da müßte ich mich aber erst einlesen ( Dann hätte ich ja mal einen Grund ;-) Wollt ich schon die ganze Zeit tun)

Tschau

Frank
 
Hallo Malleus!

ich brauch das ganze nur fürs Intranet --> IE und Firefox müssen funktionieren!
wäre toll, wenn du mir einen Tipp geben könntest.

was ich bis jetzt herausgefunden habe, ist dass ich zwar ein xml einbinden kann, aber nur über Javascript darauf zugreifen kann, und so die einzelnen Elemente z.B. mit document.write("<td>........</td>") wieder ausgeben kann.

wie man ein xslt-stylesheet einbinden kann, hab ich leider noch nicht entdeckt.

LG, Maria
 
Meines Wissens kannst Du nur clientseitig mit Javascript drauf zugreifen. Ich verwende immer "createProcessor", um eine XSLT-Transformation durchzuführen, aber wie gesagt: Erfahrung hab' ich da nur für den MSIE. Such' mal mit google nach "createProcessor", da findest Du bei MSDN eine gute Beschreibung. Vielleicht geht das auch sinngemäß mit FF.

Vielleicht könnte man das ganze aber schon auf dem Server ausführen? Nur müßten hier die PHP-Experten ran. Ich arbeite mich hier erstmal ein.
 
Zurück
Oben