Hi,
ich experimentier gerade etwas mit der XML Darstellung von Subversion Repositories im Apache. Dabei funktioniert die (triviale) Transformation meiner Meinung nach wunderbar, nur die Darstellung im Browser (FF/Opera) funktioniert nicht wie erwartet. Im IE (6 & 7) funktioniert alles wie erwartet.
Wenn ich im FF die fertig transformierte Page speicher, und dann die gespeicherte *.xhtm aufmach, dann funktioniert die Darstellung korrekt.
Ich nehm an ich hab einen Fehler, den der IE einfach ignoriert, hab allerdings nichts in diese Richtung bis jetzt gefunden.
Vielleicht kann mir jemand hier helfen.
XML:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/subversionStyle.xsl"?>
<!DOCTYPE svn [
<!ELEMENT svn (index)>
<!ATTLIST svn version CDATA #REQUIRED
href CDATA #REQUIRED>
<!ELEMENT index (updir?, (file | dir)*)>
<!ATTLIST index name CDATA #IMPLIED
path CDATA #IMPLIED
rev CDATA #IMPLIED>
<!ELEMENT updir EMPTY>
<!ELEMENT file EMPTY>
<!ATTLIST file name CDATA #REQUIRED
href CDATA #REQUIRED>
<!ELEMENT dir EMPTY>
<!ATTLIST dir name CDATA #REQUIRED
href CDATA #REQUIRED>
]>
<svn version="1.4.3 (r23084)"
href="http://subversion.tigris.org/">
<index rev="1" path="/">
<dir name="Setup" href="Setup/" />
</index>
</svn>
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 = "xml"
encoding = "UTF-8"
doctype-public = "-//W3C//DTD XHTML 1.1//EN"
doctype-system = "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
media-type = "application/xhtml+xml"
omit-xml-declaration = "no"
version = "1.0"
standalone = "no"
/>
<xsl:template match="/svn/index">
<html>
<head>
<title>Revision <xsl:value-of select="@rev" /></title>
</head>
<body>
<p>powered by Subversion <xsl:value-of select="../@version" /></p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Gespeicherte XHTML Datei:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html><head><title>
Revision 1</title></head><body><p>powered by Subversion 1.4.3 (r23084)</p></body></html>
Auffällig ist, dass <?xml ... ?> fehlt, obwohl es angegeben wäre. Der Mime Type application/xhtml+xml wird korrekt verwendet.
Die Darstellung in FF und Opera sieht identisch aus und zwar wie folgt:
* es wurde kein <title> gesetzt
* der Titel (Revision 1) steht direkt im Browserfenster als Text
* danach steht "powered by ...."
Es werden also alle Textnodes angezeigt, und alle anderen Nodes gestrichen.
Ich vermute ganz stark, dass ich hier irgendwas komplett falsch verstanden habe, allerdings hab ich keine Idee was. Ich bin also für jede Hilfe dankbar.
lg,
Norbert