PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : XML > HTML



campylobacter
06.08.2004, 22:51
Hallo,

Im Wiki ist schon ein Beispiel wie es für die Gentoo Doku passt. Das hab ich jetzt noch etwas vereinfacht und herausgekommen ist das hier:


#!/bin/bash
# xml2html transformer
HTMLFOLDER="/home/wolfgang/web/html"
XMLFOLDER="/home/wolfgang/web/xml"
XSLFILE="/home/wolfgang/web/templates/standard.xsl"

# Umwandeln
for i in $(ls ${XMLFOLDER}/*.xml)
do
echo "processing $i..."
xsltproc --novalid ${XSLFILE} $i > ${i/%xml/html}
sed s/\ xmlns=\"\"//g ${i/%xml/html} > ${i/%xml/html}
done

# Temp-Dateien löschen
rm -f ${XMLFOLDER}/*.html


Funktioniert ja soweit, bis auf diese Zeile:
sed s/\ xmlns=\"\"//g ${i/%xml/html} > ${i/%xml/html}

Irgendwie hat xsltproc einen Fehler und schreibt den Wert xmlns="" in die html Datei. Das ist natürlich nicht gültiges xhtml, deshalb gehört es gelöscht. Macht es auch, nur das Zielverzeichnis soll ein anderes sein. Also "> ${i/%xml/html}" gehört noch so verändert, das die fertigen html Dateien im Verzeichnis "HTMLFOLDER" gespeichert werden. Oder kann sed auch eine bestehende Datei überschreiben? Dann könnte man die Dateien am Schluß verschieben und nicht löschen. Bei mir sind da immer nur 0kb Dateien entstanden.

Bin über jeden Tipp dankbar!
mfg campy

campylobacter
07.08.2004, 11:17
Hat sich schon wieder erledigt; Ich verwende jetzt für den ersten Schritt eine .tmp Datei, die dann in eine .html umgewandelt wird, und am Schluß in den html Ordern verschoben.
Läuft es schon sehr gut!

mfg campy