Veröffentlicht 27. Juli 200520 j Hallo Ich habe ein Problem, ich habe eine XML-Datei welche ich mittels XSL-Stylesheet im Browser anzeigen möchte. Nun funktioniert das ganze im IE, aber im Firefox bekomme ich eine Fehlermeldung zurück. zuerst einmal die Quelldateien: XML-File <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="nav1.xsl"?> <NAVI> <NAVITEM> <LINK> nav_pages.softphone.xml </LINK> <LINKNAME> pages.softphone </LINKNAME> </NAVITEM> <NAVITEM> <LINK> nav_pages.tiles.transactions.xml </LINK> <LINKNAME> pages.tiles.transactions </LINKNAME> </NAVITEM> <NAVITEM> <LINK> nav_pages.tiles.access.xml </LINK> <LINKNAME> pages.tiles.access </LINKNAME> </NAVITEM> </NAVI> Das XSL-Stylesheet <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <xsl:for-each select="NAVI"> <xsl:for-each select="NAVITEM" order-by="LINKNAME"> <a target="nav2"> <xsl:attribute name="href"> <xsl:value-of select="LINK"/> </xsl:attribute> <xsl:value-of select="LINKNAME"/> </a><br/> </xsl:for-each> <!-- Hier endet die Schleife --> </xsl:for-each> <!-- Hier endet die Schleife --> </xsl:template> </xsl:stylesheet> Was ich machen möchte ist im Grunde einfach alle links anzeigen und das ganze Alphabetisch sortiert. Kann mir hier jemand helfen wie ich das XSL-Stylesheet so gerade gebogen bekommen, dass das sowohl im IE also auch im Firefox funktioniert ? Gruß Thomas
27. Juli 200520 j Da sind mehrere Dinge drin, die der Firefox scheinbar leider nicht kann. Wie's aussieht, mag der Browser zum einen das Order-By nicht, da es AFAIK nicht Teil der XSLT1.0-Spezifikation ist und zum anderen kann er wohl nicht richtig mit xsl:element bzw xsl:attribut umgehen. Aber auch, wenn man mit xsl:text die Tags etc selbst schreibt, scheint Firefox nicht damit klarzukommen... - sieht also schlecht aus - Links lassen sich damit scheinbar nicht darstellen... Hier mal meine Variante, die zumindest im IE richtig funzt und AFAIK eher den Spezifikationen entspricht, als deine Version: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/02/xpath-functions" version="1.0"> <xsl:template match="/"> <xsl:for-each select="NAVI"> <xsl:for-each select="NAVITEM"> <xsl:sort order="ascending"/> <xsl:element name="a"> <xsl:attribute name="target">nav2</xsl:attribute> <xsl:attribute name="href"><xsl:value-of select="LINK"/></xsl:attribute> <xsl:value-of select="LINKNAME"/> </xsl:element> <xsl:element name="br" /> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:stylesheet> Ich hab da einen anderen Namespace verwendet und vor allem auch das xsl:element-Tag, da <a> in einem XSL-Schema schonmal garnicht geht Aber wie gesagt, Firefox scheint da noch Probleme zu haben...
27. Juli 200520 j Einige Sachen kann er aber scheinbar, zumindest werden einige Beispiele von Selfhtml mehr oder weniger richtig angezeigt. Bei anderen stürzt er aber auch mal ab - also wie's aussieht, ist da ne sehr lückenhafte Implementierung schon drin... - Plugins hab ich dafür nicht installiert!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.