jak oživit examples

Miloslav Hertl [GISoft] Hertl na gisoft.cz
Středa Listopad 19 10:43:06 CET 2003


Dobrý den,
při tvorbě htmlhelpu bych chtěl oživit ukázky zdrojového kódu.
Na jednotlivé příklady bych rád použil PHP:Beautifier
(http://www.beautifier.org). Následně bych potřeboval dostat php skript do
generovaných html výstupů DocBooku a phpéčkem bych příklady "obarvil"
vygeneroval křížové odkazy klíčových slov atd.

Vytvořil jsem si vlastní úpravu stylu pro jednu stanu html
.\html\mh_docbook.xsl

pro htmlhelp
.\htmlhelp\mh_profile-html.xsl

Oba soubory obsahují shodný template:
<!-- php pro vlozeni prikladu se zvyraznenou syntaxi -->
<xsl:template match="processing-instruction('hhlp_php')">
  <xsl:variable name="name">
    <xsl:call-template name="pi-attribute">
      <xsl:with-param name="pis"
                      select="."/>
      <xsl:with-param name="attribute" select="'name'"/>
    </xsl:call-template>
  </xsl:variable>
<!-- <xsl:text disable-output-escaping="yes"> -->
 <?php
   $BEAUT_PATH = "./Beautifier";
   include_once "$BEAUT_PATH/Beautifier/Init.php";
   include_once "$BEAUT_PATH/HFile/HFile_FMTFMG.php";
   include_once "$BEAUT_PATH/Output/Output_css.php";
   $highlighter = new Core(new HFile_FMTFMG(), new Output_css());
   print $highlighter->highlight_text($highlighter->load_file("{$name}"));
   ?>
<!-- </xsl:text> -->
</xsl:template>

V XML jsem jej použil následovně:

<programlisting>
<?hhlp_php name="./../_htmlE/OUTPUTATTR_1.FMG"?>
</programlisting>

Ve výstupním souboru se nic z php skriptu nezobrazí. Vypadá to, jako když
text v <? ?> je zcela ignorován. Lze požadovaný skript úpravou xsl DocBook
nějak vložit? Pokud ne, nenapadá někoho v Vás jiná cesta? Dík.

Proces generovaní spouštím příkazem:
java -cp
z:\db\bin\saxon653\saxoncatalog.jar;z:\db\bin\saxon653\saxon.jar;z:\db\bin\s
axon653\saxon_ext.jar -Dxml.catalog.files=z:\db\set\dtd\docbook.cat
com.icl.saxon.StyleSheet -w2 -x cz.kosek.CatalogXMLReader Z:\doc\FMTaFMG.xml
z:\db\set\xsl\htmlhelp\mh_profile-htmlhelp.xsl profile.os="w2k;w95"
htmlhelp.encoding=windows-1250"

Miloslav Hertl


Další informace o konferenci Docbook