Autor | Zpráva | ||
---|---|---|---|
6xx Profil * |
#1 · Zasláno: 28. 9. 2006, 12:52:18
Tak jsem tu zas :-( Uz si začínám nadávat, proč v tom redakčním systému negeneruju osvědčené XHTML místo XML...
Systém už mi bezproblémově vygeneruje XML, stále se mi ale nedaří XSLT transformace na XHTML. Vygenerované xml vypadá nějak takto: ----------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <page xmlns="default" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="default schema.xsd"> <?xml-stylesheet type="text/xsl" href="style.xsl" media="screen"?> <menu> <name id_menu="1">menu_1</name> <name id_menu="2">menu_2</name> <name id_menu="3">menu_3</name> </menu> <content> <path id_menu="1">menu_1</path> <name id_text="">TEST 1</name> <autor id="1">Lukas Jirkovsky</autor> <perex>vaelrbvoabraebuo viubaeivb</perex> </content> </page> XSLT styl vypadá takhle (není hotový, některe části chybí): ---------------------------------------------------------------------- --------- <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'> <xsl:output method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" indent="yes"/> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title>Testovaci stranka</title> </head> <body> <div id="baseborder"> <div id="top"> TOP </div> <xsl:apply-templates select="menu|content"/> </div> </body> </html> </xsl:template> <xsl:template match="menu"> <div id="menu"> <xsl:apply-templates select="name" mode="menu"/> </div> </xsl:template> <xsl:template match="name" mode="menu"> <a href="index.php?id_menu={@id_menu}"><xsl:value-of select="."/></a> </xsl:template> <xsl:template match="content"> <div id="obsah"> <xsl:apply-templates select="path|name|autor|perex|text"/> </div> </xsl:template> <xsl:template match="path"> <a href="index.php?id_menu={@id_menu}" class="path"><xsl:value-of select="."/></a> <a href="index.php?id_menu={@id_menu}&id_text={@id_text}" class="path"><xsl:value-of select="."/></a> </xsl:template> </xsl:stylesheet> Problém je,že se mi transformuje jenom část odpovídající xsl:template match="/" a další to vynechá. Kde mám chyby Díky |
||
Časová prodleva: 5 dní
|
|||
6xx Profil * |
#2 · Zasláno: 3. 10. 2006, 17:25:55
Tak už jsem to vyrešil, chyba byla v namespace:
místo <page xmlns="default" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="default schema.xsd"> by mělo být <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="schema.xsd"> Další chyba byla v <xsl:apply-templates select="menu|content"/>, kde by mělo být <xsl:apply-templates select="page/menu|page/content"/>. Za radu, v čem je chyba bych chtěl tímto poděkovat Zdeňkovi Burdovi. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0