einbinden wie?
hoppla
- xml
moin moin allerseits.
xml ist für mich das totale neuland. blöd aber war!
jetzt mein problem:
von einem externen anbieter daten zum einbinden auf der hp bekommen.
diese liegen als xml files vor
soweit ich diese xml files durschaut habe, werden darin etwa mit "<!ELEMENT Artist (#PCDATA)>" bestimmte typen? definiert. (hier also der Artist)
weiterhin leigt mir ein CSS-Datei vor in der zum Beispiel für das Elemt "Artist" die Formatierung angeben wird.
soweit sogut
wie bekomme ich jedoch diese daten aus dem xml-file in eine normale html datei ohne diese jedesmal wenn neue daten vorhanden sind wieder ändern zu müssen?
ich gehe davon aus, nur noch jedesmal das neue xml-file auf den server spielen zu müssen
-oder hab ich jetzt irgendwie den sinn des datenaustausch über xml-files falsch verstanden.
-danke für eure antworten im voraus...wie gesagt bisher absolut keinen plan von der materie....
Hallo,
xml ist für mich das totale neuland. blöd aber war!
Dann erstmal den XML/XSLT-Teil von SELFHTML lesen: http://selfhtml.teamone.de/xml/index.htm.
- wie bekomme ich jedoch diese daten aus dem xml-file in eine normale html datei ohne diese jedesmal wenn neue daten vorhanden sind wieder ändern zu müssen?
- ich gehe davon aus, nur noch jedesmal das neue xml-file auf den server spielen zu müssen
Es kommt nun darauf an, ob Dein Server einen XSLT-Prozessor zur Verfuegung stellt (bei PHP ist z. B. Sablotron bzw. mod_xslt hilfreich). Entweder machst Du diese Transformation von XML nach HTML auf dem Server oder bei sich selten aendernden Daten lokal bei Dir und setzt nur das Ergebnis online.
Ein einfaches Beispiel:
test.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<wurzel>
<element1>Inhalt von element1</element1>
</wurzel>
test.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output
method="html"
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
doctype-system="http://www.w3.org/TR/html401/loose.dtd"
encoding="ISO-8859-1"
version="1.0"
indent="yes"
/>
<xsl:template match="wurzel">
<html>
<head>
<title>Seitentitel</title>
</head>
<body>
<p>
<xsl:value-of select="element1"/>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Im IE mit MSXML ab Version 3 (z. B. im IE6) reicht es, die XML-Datei zu laden und es wird der HTML-Output sichtbar (nicht jedoch bei Quelltext anzeigen).
Unter http://sourceforge.net/projects/saxon findest Du "Instant Saxon", ein DOS-Konsolenprogramm, welches die Transformation ebenfalls ausfuehrt und den HTML-Code speichern kann:
saxon -a -o test.htm test.xml
oder
saxon -o test.htm test.xml test.xsl
(-a entnimmt die XSL-Referenz aus der XML-Datei von der so genannten Processing Instruction xml-stylesheet.)
Heraus kommt ein HTML-Dokument mit <p>Inhalt von element1</p> im BODY.
Diese Transformationszeile koennte in einer Batch-Datei abgelegt werden und steht dann schnell zur Verfuegung.
MfG, Thomas