Autor Zpráva
6xx
Profil *
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}&amp;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
6xx
Profil *
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.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0