Hallo,
Hier die Beispieldateien:
Datei TEST.XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TEST XHTML DOKUMENT</title>
</head>
<body>
<p>Hier steht eigentlich der normale Text!</p>
</body>
</html>
Das das eigentlich keine XML-Datei ist, ist dir schon klar?
Das ist ein "stink normaler" XHTML-Datei wozu du eigentlich überhaupt keine XSL brauchst.
Datei TEST.XSL
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
<html>
xsl:apply-templates/
</html>
</xsl:template></xsl:stylesheet>
Als Anzeige im Browser-Fenster (T-Online Browser):
TEST XHTML DOKUMENTHier steht eigentlich der normale Text!
Was ist da Falsch ??????????????
Im Grunde nichts. Es passiert genau das was passieren soll: du hast im <html> mit xsl:apply-templates/ einfach alle Text die in der Seite stehen hineingeholt, weil eben in diesem fall bei dir nur die build-in Templates greifen.
<xsl:template match="/">
<html>
<head><title><xsl:value-of select="html/head/title" /></title></head>
<body>
<xsl:apply-templates select="body" />
</body>
</html>
</xsl:template>
<xsl:template match="p">
<p><xsl:value-of select="." /></p>
</xsl:template>
usw.
erkennst du jetzt, warum es wirklich überfüssig ist deine XHTML-Seite mit XSLT zum selben XHTML zu transformieren?
Grüße
Thomas