RTF se styly
Honza Tosovsky
j.tosovsky na tiscali.cz
Sobota Prosinec 11 14:32:43 CET 2004
>Myslím, že jednodušší by bylo místo úpravy stylů napsat nepoměrně
>jednodušší XSLT styl, který upravil standardní HTML výstup, z divů
>udělal ploché <p> a doplnil odpovídající CSS třídy.
Asi ano. Tyto cesty jsem vsak chtel obejit, protoze je mi jazyk xsl cizi.
Nyni postupne pronikam do jeho taju a dokonce se mi podarilo vytvorit
sablonu, ktera vyse uvedene svede u meho pokusneho xhtml souboru. Jakmile
vsak pouziji xhtml generovany z DB, bud je vysledny soubor prazdny, nebo
cely bez tagu - podle volby vstupniho "filtru". Nemohl by me nekdo trochu
nakopnout, jak spravne nacitat (x)html soubor? A neexistuje nahodou neco
jako debugger, ktery by dovolil sledovat proces generovani?
Omlouvam se za OT:
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'
xmlns:saxon="http://icl.com/saxon">
<xsl:output method="html"
saxon:character-representation="native" />
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="body">
<html><body>
<xsl:apply-templates />
</body></html>
</xsl:template>
<xsl:template match="div">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="h1">
<xsl:call-template name="getClasses" />
</xsl:template>
<xsl:template match="h2">
<xsl:call-template name="getClasses" />
</xsl:template>
<xsl:template match="p">
<xsl:call-template name="getClasses" />
</xsl:template>
<xsl:template match="span">
<xsl:copy-of select="." />
</xsl:template>
<xsl:template name="getClasses">
<xsl:text disable-output-escaping="yes"><p class="</xsl:text>
<xsl:for-each select="ancestor-or-self::*/attribute::class">
<xsl:value-of select="." />
<xsl:if test="not(position()=last())">
<xsl:text>_</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text disable-output-escaping="yes">"></xsl:text>
<xsl:apply-templates />
<xsl:text disable-output-escaping="yes"></p></xsl:text>
</xsl:template>
</xsl:stylesheet>
Další informace o konferenci Docbook