Hi an alle,
hab ein Problem mit XML/XSLT. Bin da noch Anfänger.
Habe in meiner HTML-Datei über einen XSL-Transformer
eine XML-Datei eingebunden. Im IE läuft es auch wunderbar.
Aber im Netscape, usw. läuft es nicht. Was muss ich machen,
wenn ich eine XML- und XSL-Datei einbinden möchte und wie
kann ich sie dann transformieren, sodass Netscape es versteht.
Hier mein Code und vielen Dank für jede Hilfe:
HTML-Datei:
<html>
<head>
<XML id="source" src="XMLFile.xml"></XML>
<XML id="transform" src="XSLFile.xsl"></XML>
<SCRIPT FOR="window" EVENT="onload">
xslMenu.innerHTML = source.transformNode(transform.XMLDocument);
</SCRIPT>
</head>
<body leftmargin="0" topmargin="0">
<DIV id="xslMenu" align="left"></DIV>
</body>
</html>
XML-Datei:
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="XSLFile.xsl" type="text/xsl"?>
<menulist>
<menu caption="Willkommen" url="index.htm" ident="btnLHome"/>
<menu caption="News" url="news.htm" ident="btnLNews">
<menu caption="News1" url="news1.htm" ident="btnLNews1"/>
</menu>
<menu caption="Kontakt" url="kontakt.htm" ident="btnLKontakt"/>
</menulist>
XSL-Datei:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes" method="xml"/>
<xsl:template match="menulist">
<table cellspacing="0" cellpadding="0" width="120" style="border-collapse: collapse">
<xsl:apply-templates select="@*|node()"/>
</table>
</xsl:template>
<xsl:template match="menu">
<xsl:variable name="caption" select="@caption"/>
<xsl:variable name="url" select="@url"/>
<xsl:variable name="ident" select="@ident"/>
<xsl:variable name="level" select="count(ancestor::*) - 1"/>
<xsl:variable name="submenuid" select="concat('submenu', $level, position())"/>
<tr>
xsl:choose
<xsl:when test="$level=0">
<td id="{$ident}" align="left" height="20">
<a href="{$url}">
<font class="ButtonText">
<span style="text-decoration: none">
<xsl:value-of select="concat('  ', $caption)"/>
</span>
</font>
</a>
</td>
</xsl:when>
<xsl:when test="$level=1">
<td id="{$ident}" align="left" height="20">
<a href="{$url}">
<font class="ButtonText">
<span style="text-decoration: none">
<xsl:value-of select="concat('  ', $caption)"/>
</span>
</font>
</a>
</td>
</xsl:when>
xsl:otherwise
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:template>
<xsl:template match="@*|node()">
xsl:copy
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>