Christophe: ::GELÖST::(AUT)::Erste Schritte in XML (server side)

Beitrag lesen

Hallo,

Mit PHP ist es möglich unabhängig von der Fähigkeit des Browsers XML zu lesen, eine XML (extensible markuplanguage) zu öffnen.

Statt die ganze theorie zuerst zu lesen, finde ich vernünftiger mit einem einfachen Beispiel zu Beginnen und DANN anhand dieses Beispiels gründlich das Kapitel XML von Stefan zu lesen.

EXKURS: Sie möchten Klavier lernen. Würden Sie lieber dass ich Ihnen den Unterschied zwischen Modale und Tonale Musik erkläre? Dass ich Ihnen einen Vortrag mache über den Unterschied zwischen ein Fis und ein Ges nicht nur hinsichtlich der temperierung sondern auch des Vorgangs der Modulationen? Das ein Grundbass nicht unbedingt gespielt wird sonder sehr oft nur gedacht...usw? Sicherlich nicht. Lieber sofort seine Hände auf dem Klavier. OK.

Jetzt möchte ich wissen wie XML funtioniert. Zuerst das Kapitel von Stefan gründlich lesen? (das habe ich gemacht). Nein. Zuerst ein Beispiel in der Tasche und DANN gründlich studieren.
Hier folgt das Beispiel.

ZIEL : eine XML Datei in einem Browser von einem websever öffnen.

LÖSUNG : mit PHP die XML Datei aufrufen. Die XML Datei muss mit XSL (extensible style sheet) in eine HTML Datei transformiert werden

Die drei folgenden Datei auf einem webserver laden (dieser muss xml und xsl unterstützen)und dann die .php Datei (hier gruss.php) im Browser öffnen. FERTIG

  1. gruss.xml

<?xml version="1.0"?>
  <gruss xmlns:news="http://slashdot.org/backslash.dtd">
  <formel>
    <title>Hallo World!</title>
  </formel>
</gruss>

  1. gruss.xsl

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
    method="html"
    indent="yes"
    encoding="utf-8"
/>

<xsl:template match="/gruss">
  <html>
    <head>
      <title>Jeztiges Gruss</title>
    </head>
    <body bgcolor="white">
      <xsl:call-template name="gruesse"/>
    </body>
  </html>
</xsl:template>
<xsl:template name="gruesse">
  <xsl:for-each select="formel">
    <h1><xsl:value-of select="title"/></h1>
  </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

  1. gruss.php

<?php
  $processor = xslt_create();
  $result = xslt_process($processor, 'gruss.xml', 'gruss.xsl');
  if (!$result) echo xslt_error($processor);
  xslt_free($processor);
  echo "<pre>$result</pre>";
?>

Gruss
Christophe

::GELÖST::(AUT):: = Problem vom Autor als gelöst eingestuft