Hallo
Kurz zur Erklärung:
Ich habe XSL-templates in einer Datenbank. Diese werden zusammen mit XML Daten in XHTML umgewandelt. Ich habe also KEIN XSL in meinem HTML-gerüst sondern HTML Bestandteile in den XSL-Templates, damit dann zusammen mit XML-Daten eine XHTML-Website generiert werden kann.
Nun zu meinem Problem:
Folgende Fehlermeldung wird vom W3C Validator ausgegeben: there is no attribute "xmlns"
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.treehousecafe.org%2Findex.php%3FpageId%3D1&charset=%28detect+automatically%29&doctype=Inline
Was bedeutet dass und warum wird es ins div tag als attribut mit eingebunden obwohl es in meinem template nicht drinnensteht.
Dass Startseitentemplate sieht an der entsprechenden Stelle folgendermaßen aus:
Code:
xml version="1.0" encoding="iso-8859-1"?>
DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
<!ENTITY eacute "é">
]>
xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" method="xml" encoding="iso-8859-1" indent="yes" omit-xml-declaration="yes"/>
xsl:variable name="var_title">
<xsl:value-of select="/data/row/Pagetitle" />
</xsl:variable>
xsl:variable name="var_header_image">homeheader</xsl:variable>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="keywords" content="Fairtrade, Treehouse, Cafe, Nonviolence, Bradford, Library, Organic" />
<meta name="description" content="The treehouse café and Bradford Centre for Nonviolence can be found immediately opposite the University of Bradford. The site is well known for its delicious and ethical food, being for over ten years the home of the Fair Trade Café - the first fair trade café in the UK." />
<meta name="language" content="en" />
<title>Treehouse café - Home</title>
<link rel="stylesheet" type="text/css" href="css/global.css"/>
<link rel="stylesheet" type="text/css" href="css/menu.css"/>
<link rel="stylesheet" type="text/css" href="css/startpage.css"/>
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
</head>
body>
<div class="sitebaseframe">
<div class="sitecomponents">
<xsl:call-template name="fix_header"/>
xsl:apply-templates/
</div>
im fix_header template (Dass oben per xsl:call aufgerufen wird) steht folgender code:
Code:
xsl:template name="fix_header" >
<div class="siteheader">
<table class="siteheaderimage" cellspacing="0" cellpadding="0">
<xsl:attribute name="background">
<xsl:copy-of select="$var_header_image" />
</xsl:attribute>
<tr>
Wenn ich mir den Quelltext meiner Seite ansehe steht plötzlich ein xmlns Attribut im siteheader div-tag!? Warum? Wo kommt es her? Warum wird es automatisch generiert? VOR ALLEM ABER: WIE BEKOMME ICH ES WEG?
Code:
body>
<div class="sitebaseframe">
<div class="sitecomponents"><div xmlns="" class="siteheader">
Liegt es vielleicht an der XSL-Prozessorversion des Providers?
Leere xmlns="" Attribute in divs treten auf bei <xsl:call-template name=""/> oder <xsl:template match="row"> sonst nicht!!
Danke schonmal für eure Hilfe!
####################################
serverinfo:
xml
XML Support active
XML Namespace Support active
libxml2 Version 2.6.22
xmlreader
XMLReader enabled
xmlwriter
XMLWriter enabled
xsl
XSL enabled
libxslt Version 1.1.7
libxslt compiled against libxml Version 2.6.11
EXSLT enabled
libexslt Version 0.8.5