Hallo zusammen,
ich versuche, aus einer vorliegenden XML-Datei mit Hilfe von XSL standardkonformes XHTML zu erzeugen. Dabei stehe ich derzeit vor 2 Problemen:
1. Dateikopf:
Laut Selfhtml sollte ein ordentlicher XHTML-Kopf etwa folgendermaßen aussehen:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> ...
Nach einigem Suchen im Archiv habe ich hierzu die folgende XML-Anweisung gefunden, die genau das generiert:
<xsl:output
method="html"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
encoding="ISO-8859-1"
omit-xml-declaration="no"
version="1.0" />
Das funktioniert auch, allerdings wird die Anweisung omit-xml-declaration="no" nur dann beachtet, wenn method="xml" angegeben wird.
Wie gehe ich hier richtig vor, um sowohl die Zeile
<?xml version="1.0" encoding="ISO-8859-1" ?>
als auch den richtigen doctype zu generieren?
2. Javascript-Bereich:
Laut selfhtml sind javascript-Bereiche in XHTML so zu definieren:
<script type="text/javascript">
// <![CDATA[
...
// ]]>
</script>
Hier habe ich bisher mittels xsl:text versucht, dies zu generieren - aber bisher erfolglos. Meist interpretiert saxon hier die schließenden eckigen Klammern als - was auch immer - , und beschwert sich über ein erwartetes </xsl:text> anstatt </string>. Auch meine Versuche mit Entitäten waren bisher nicht von Erfolg gekrönt.
Ein Auslagern des javascript-Bereiches ist in diesem Fall meiner Meinung nach nicht sinnvoll, da lediglich eine Variable gesetzt wird, die von einem Script, welches in verschiedene Seiten eingebunden ist, ausgewertet wird.
Was kann ich hier tun?
Vielen Dank im Voraus und viele Grüße
Das Söhnchen