Thomas Meinike: einbinden wie?

Beitrag lesen

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