Thomas: XML in HTML transformieren

Hallo,

Ich habe folgenden XML-Code:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Datei xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<Ueberschrift>Ueberschrift</Ueberschrift>
<Text>Text</Text>
<Egal>Blabla</Egal>
<Liste>
   <Listenelement>Test1</Listenelement>
   <Listenelement>
     <Liste>
        <Listenelement>Test2<Egal>Text</Egal></Listenelement>
        <Listenelement>Test3<Text>Test4</Text></Listenelement>
     </Liste>
   </Listenelement>
</Liste>
<Egal>Egal</Egal>
</Datei>

Ich will das so in eine (X)HTML wandeln, dass am Ende sowas rauskommt:

<html>
<head><title>Ueberschrift</title></head>
<body>
<h1>Ueberschrift</h1>
<p>Text</p>
<ul>
   <li>Test1</li>
   <li>
      <ul>
         <li>Test2</li>
         <li>Test3<p>Test4</p></li>
      </ul>
   </li>
</ul>
</body>
</html>

"Egal" soll nicht berücksichtigt werden. Das Beispiel ist vermutlich für Euch ein Kinderspiel. Mein echtes ist viel komplexer, obiges deckt aber alle Fälle ab, die ich brauche.

Ich versuche es schon seit Stunden, kriege aber nix Vernünftiges raus.

Wer kann mir helfen?
Thomas

  1. Hi,

    Ich versuche es schon seit Stunden, kriege aber nix Vernünftiges raus.

    _Was_ versuchst du schon seit Stunden? Womit versuchst du denn aus dem
    Xml XHTML zu machen? Mit einer Moulinette? (SCNR: um mal mit einem
    Zaunspfahl zu winken)

    Eine Lösung zu deinem Problem wäre:

    • benutze einen XSL(T) Prozessor
    • definiere eine gültige und wohlgeformte XSL(T) Datei,
        die deiner Ausgabe entspricht
    • lasse den Prozessor das XSL(T) gegen das XML laufen
        und speichere die Ausgabe des Prozessors als XHMTL-Datei

    XSL(T) = Xtensible Stylesheet Language for Transformations (o.s.ä.)
    XSL(T) Prozessoren findest du mittlerweile für naja fast jede
    Plattform, sogar für Windows ;)

    Grüße, gut Nacht!
    Frank

  2. Hallo,

    Ich versuche es schon seit Stunden, kriege aber nix Vernünftiges raus.

    Dann zeige bitte was du schon versucht hast (sprich dein XSL).

    Grüße
    Thomas