Előzmény
Az évek során a linux-ról írt jegyzetem egyre hosszabb és úgy érzem, segíthetek vele az embereknek, ha megosztom velük. Eredetileg '.txt' formában írtam, de a '.pdf' és '.html' szebb és átláthatóbb lenne, ezért elkezdtem weboldallá alakítani, amit később latex-re akartam átformázni.
Mivel ez elég macerás és a későbbiekben is valami jobb megoldást kell használnom, ezért rákerestem az olyan dokumentációs rendszerekre, amelyek a fent említett formátumokat támogatják. Így találtam rá a docbook-ra, amit első ránézésre érzem, hogy szeretni fogok, de amint nekifogtam, rájöttem, hogy olyan elkezdeni a tanulását, mintha egy vazelines hegyet akarnék megmászni: mikor azt hiszem, kezdem érteni a dolgot, hogy találtam egy kapaszkodót, egyből jön egy újabb infó, amitől ismét padlót fogok.
Amint látom, kicsit szerencsétlen az időzítés a docbook-tanulásra, mert most történt verzióváltás. Szeretném ugyanis előre eldönteni, hogy melyik utat fogom járni és ha a verziószámok közt kell választanom, akkor az újabbra hajlok, hisz ez lesz a továbbiakban is támogatva. A gondom inkább az sgml / xml választással van: valamelyest értem a különbséget köztük, de nem tudok melyikkel járnék jobban.
Egy leegyszerűsített magyarázatban azt olvastam, hogy az xml az sgml-ből származik, ergo kevesebb, mint az, nem tud olyan sok mindent. De az xml azt hiszem elterjedtebb, több helyen használják (legalábbis sűrűbben találkoztam a nevével). Mivel egyiket se ismerem még, ezért szeretném a "jobbal" kezdeni, azzal, amelyik a docbook használatán kívül máshol is hasznomra lehet majd.
Kérdés
- Mivel tud kevesebbet az xml az sgml-nél, ami egy dokumentáció írásához hiányosság lehet?
- Melyik az elterjedtebb, melyik tanulásával fogok más területeken is hatékonyabb lenni?
- Milyen linkeken érdemes nézelődni, ha full n00b vagyok és az 5-ös verziót akarom megtanulni? (elég kevés linket találtam magamtól)
- 11235 megtekintés
Hozzászólások
Az eredeti felvetésedre fókuszálva - txt => pdf,html konverzió, tex felvetése - neked a pandocra van szükséged. A txt => markdown (ami szintén egy leíró nyelv, mint az SGML, XML) konverzió nem nagy tanulási lépcső.
Bocs, hogy a közbevetéssel eltérítettem némileg a szálat
Ha mégis SGML/XML a kérdés, és az SGML subsetje az XML, és nem ismered őket, akkor lehet úgy nekiállni, mint az elefánt elfogyasztásához - kis falatonként.
> Melyik az elterjedtebb, melyik tanulásával fogok más területeken is hatékonyabb lenni?
Szerintem, akkor leszel hatékony, ha
1. a dokumentációt átteszed markdown-ba, konvertálod bármibe... az a feladat már kész, egy leíró nyelv már ismert, ráérsz foglalkozni a tanulással
2. XML -> SGML útvonalat jársz be, kivéve ha elég nagy a befogadóképességed. De az XML maga is egy halom nyelv(járás) alapja, mint pl. a RelaxNG, ami elég a DocBook-hoz.
- A hozzászóláshoz be kell jelentkezni
En is inkabb a Markdown-ba konvertalas mellett teszem le a voksot, ha megvannak meg az eredeti TXT formaju dokumentumok, akkor azokat nagyon egyszeru lesz Markdownba konvertalni, onnet meg HTML es LaTeX is kijohet a vegen - azokbol meg mar szinte barmi.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Szia,
én évek óta napi szinten használok docbookot, és nagyon szeretem, viszont a többiekkel egyetértve szerintem sem a docbook a neked lekinkább megfelelő eszköz. A docbook használatához elég sokat kell tanulni, valószínüleg csak egy töredékét használnád a képességeinek, és azért nem éri meg a szenvedést. (Amúgy ha docbook, akkor 5-ös változat, és XML.)
Mivel txt-ben vannak a meglevő szövegeid, a már előttem is ajánlott Markdown jó választás lehet, de mielőtt nekiesnél, esetleg érdemes megnézni még az Asciidoc-ot, meg a restructuredtext-et is, mindkettő plain-text alapú, és mostanában elég népszerű.
Üdv,
eldar
- A hozzászóláshoz be kell jelentkezni
Asciidoc azért sem rossz választás, mert annak van DocBook kimenete.
Mindazonáltal, ha már láttál XML fájlt, akkor a DocBook nem annyira vészes. Szerintem nyugodtan elkezdheted.
Napjainkban nem muszáj Vi / EMacs alatt nyomni, mint mondjuk 5-10 éve. Már vannak Wysiwyg XML editorok is. Sajnos :).
Források:
Tutorial@Cern, toolchain
Tutorial, DocBook elemek magyarázata
XSLT biblia
- A hozzászóláshoz be kell jelentkezni
> Asciidoc azért sem rossz választás, mert annak van DocBook kimenete.
miként a pandocnak is, meg bemenete is :)
$ pandoc --help
pandoc [OPTIONS] [FILES]
Input formats: native, json, markdown, markdown_strict, markdown_phpextra,
markdown_github, markdown_mmd, rst, mediawiki, docbook, textile,
html, latex
Output formats: native, json, docx, odt, epub, epub3, fb2, html, html5, s5,
slidy, slideous, dzslides, docbook, opendocument, latex, beamer,
context, texinfo, man, markdown, markdown_strict,
markdown_phpextra, markdown_github, markdown_mmd, plain, rst,
mediawiki, textile, rtf, org, asciidoc
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat!
Amint látom, gy.k. mindenki a markdown-t ajánlja - valóban elég egyszerűnek tűnik és a célra teljesen tökéletes, mert minimális változtatást kell csak elvégeznem a szövegen. Ennek ellenére mégis a docbook mellett döntöttem, mert - bár így tovább tart a cél elérése - szélesebb használható tudásra teszek szert szerintem.
@muszike:
Köszönöm a linkeket, mindegyik jól használhatónak tűnik, hasznukat fogom venni, miközben vim-ben szerkesztem az xml-t. :)
--
A kényszer helyett a tudásvágy vezessen a tanulásban!
- A hozzászóláshoz be kell jelentkezni
[Feliratkozás]
- A hozzászóláshoz be kell jelentkezni
Már egész átalakítottam az irományt docbook-ra, de egyenlőre a 4.1.2 áll a DTD-ben (a v5 motyeszokat nem sikerült működésre bírnom) viszont az lenne a kérdésem, hogy milyen "fordítót" ajánlotok (amit lehetőleg windows alól is tudok használni) és azt hogy lehet használni?
Az xsltproc jól működik a 4-es és 5-ös docbook-kal is, csak úgy látom, hogy windows-os verziót összehozni nem lesz egyszerű - hátha van jobb alternatíva.
Az xmlto hasznos, csak az a baj vele, hogy a docbook5 fájloknál "no DTD found!" üzenetet dob. Ugyan ezt meg lehet kerülni a --skip-validation kapcsolóval, de ez nem épp korrekt megoldása a dolognak.
A docbook-utils ilyen hibaüzeneteket dob xml fájloknál:
$ docbook2html tmp.docbk
Using catalogs: /etc/sgml/catalog
Using stylesheet: /usr/share/docbook-utils/docbook-utils.dsl#html
Working on: /media/winapp/xampp/htdocs/linux/parancsok/tmp.docbk
openjade:/usr/share/xml/docbook/schema/dtd/4.1.2/docbookx.dtd:74:17:E: "X20AC" is not a function name
openjade:/usr/share/xml/entities/xml-iso-entities-8879.1986/ISOamsa.ent:40:19:E: "X21B6" is not a function name
Próbáltam a '-n -c /etc/xml/catalog' kapcsolóval tiltani az sgml katalógust és helyette az xml-t használni, de nagyjából ugyanezek a hibák jelentkeztek.
--
A kényszer helyett a tudásvágy vezessen a tanulásban!
- A hozzászóláshoz be kell jelentkezni
Csak hulyesegbol, probald mar ki egy olyan fajlon, aminek xml a kiterjesztese... tmp.docbk.xml peldaul.
Windowson szerintem cygwin iranyban lehet erdemes elindulnod, ahhoz eleg sokminden van.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
docbook4.xml (ami a tmp.docbk volt) headerje:
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<article>
<articleinfo>
# ...
docbook5.xml:
<!-- <?xml version="1.0" encoding="UTF-8"?> -->
<book xml:id="simple_book" xmlns="http://docbook.org/ns/docbook" version="5.0">
<title>Very simple book</title>
<chapter xml:id="chapter_1">
# ...
Kimenetek
$ xmlto html docbook4.xml #OK
Writing ar01s02.html for section
Writing ar01s03.html for section
Writing ar01s04.html for section
Writing ar01s05.html for section
Writing ar01s06.html for section
Writing ar01s07.html for section
Writing ar01s08.html for section
Writing ar01s09.html for section
Writing index.html for article
$ xmlto html docbook5.xml # FAIL
xmlto: /mnt/download/docbook/docbook5_sample/docbook5.xml does not validate (status 3)
xmlto: Fix document syntax or use --skip-validation option
validity error : no DTD found!
Document /mnt/download/docbook/docbook5_sample/docbook5.xml does not validate
$ docbook2html docbook4.xml # FAIL
Using catalogs: /etc/sgml/catalog
Using stylesheet: /usr/share/docbook-utils/docbook-utils.dsl#html
Working on: /mnt/download/docbook/docbook5_sample/docbook4.xml
openjade:/usr/share/xml/docbook/schema/dtd/4.1.2/docbookx.dtd:74:17:E: "X20AC" is not a function name
openjade:/usr/share/xml/entities/xml-iso-entities-8879.1986/ISOamsa.ent:40:19:E: "X21B6" is not a function name
# ... egy rakás ugyanilyen üzenet.
$ docbook2html docbook5.xml # OK
Using catalogs: /etc/sgml/catalog
Using stylesheet: /usr/share/docbook-utils/docbook-utils.dsl#html
Working on: /mnt/download/docbook/docbook5_sample/docbook5.xml
openjade:/mnt/download/docbook/docbook5_sample/docbook5.xml:2:1:E: prolog can't be omitted unless CONCUR NO and LINK EXPLICIT NO and either IMPLYDEF ELEMENT YES or IMPLYDEF DOCTYPE YES
openjade:/mnt/download/docbook/docbook5_sample/docbook5.xml:2:1:E: no document type declaration; will parse without validation
$ xsltproc -o index.html /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl docbook4.xml # OK
$ xsltproc -o index.html /usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl docbook5.xml # OK
Note: namesp. cut : stripped namespace before processing Very simple book
Note: namesp. cut : processing stripped document Very simple book
- A hozzászóláshoz be kell jelentkezni
Oke, csak tipp volt.
Keress mar ra a docbook stringre az /etc/sgml/catalog fajlban, illetve az /etc/sgml mappa tobbi fajljaiban lecci.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Na ez most jól megkavart... o_O
/etc/sgml/catalog:CATALOG /etc/sgml/docbook-dsssl.cat
/etc/sgml/catalog:CATALOG /etc/sgml/docbook-xml.cat
/etc/sgml/docbook-dsssl.cat:CATALOG /usr/share/sgml/docbook/stylesheet/dsssl/modular/catalog
/etc/sgml/docbook-dsssl.cat:CATALOG /usr/share/sgml/docbook/stylesheet/dsssl/modular/common/catalog
grep: /etc/sgml/docbook-xml: Ez egy könyvtár
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/catalog
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/4.0/catalog
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/4.1.2/catalog
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/4.2/catalog
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/4.3/catalog
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/4.4/catalog
/etc/sgml/docbook-xml.cat:CATALOG /usr/share/xml/docbook/schema/dtd/4.5/catalog
Mi köze van az sgml katalogusnak az xml-hez...? Mármint... Bahh... (-_-')
Mindegy, a lényeg, hogy ebből mit tudtunk meg?
$ grep -3 -i X20AC /usr/share/xml/docbook/schema/dtd/4.1.2/docbookx.dtd
<!ENTITY % dbcent.module "INCLUDE">
<![%dbcent.module;[
<!ENTITY euro "€"><!-- euro sign, U+20AC NEW -->
<!ENTITY % dbcent PUBLIC
"-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN"
"dbcentx.mod">
- A hozzászóláshoz be kell jelentkezni
A docbook4-es cuccoknal nem tudja felparzolni valamiert az entitas definiciokat. Talan bugos az openjade.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Szerintem valamilyen Xslt alapú eszközzel érdemes menetelni.
Java alatt kellően támogatott, és ekkor oprendszer független tudsz lenni.
Kell hozzá Docbook Xslt.
Valamilyen Xslt processzor, mondjuk Saxon kitűnő, mellé Xerces.
Utána az alábbi szépség:
java -cp "c:\MinGW\saxon6-5-5\saxon.jar;c:\MinGW\xerces-2_11_0\xercesImpl.jar;c:\MinGW\xerces-2_11_0\resolver.jar;c:\MinGW\xerces-2_11_0" -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration com.icl.saxon.StyleSheet -x org.apache.xml.resolver.tools.ResolvingXMLReader -y org.apache.xml.resolver.tools.ResolvingXMLReader -r org.apache.xml.resolver.tools.CatalogResolver -o eredmeny.html forras.xml stylesheet.xsl
Ha HTMLt eredményt kívánsz, akkor a stylesheet pl. a docbook-xsl-1.77.1/html/docbook.xsl .
Ezt ízlés szerint érdemes lehet ant alatt automatizálni.
- A hozzászóláshoz be kell jelentkezni
Muszike hozzászólása alapján csináltam egy 'önfejlesztő' alias
-t a .bashrc
-be:
# Az alap saxon-xslt-nek nem tudom atadni, hogy hasznalja a saxon extensions-t
# es xerces legyen az xml parser (ha argumentumkent adjuk at a classpath-ot,
# akkor a $CLASSPATH figyelmen kivul lesz hagyva).
if [ -f '/usr/share/java/saxon.jar' ]; then
saxon='java -classpath /usr/share/java/saxon.jar'
if [ -f '/usr/share/java/docbook-xsl-saxon.jar' ]; then
saxon+=':/usr/share/java/docbook-xsl-saxon.jar'
fi
if [ -f '/usr/share/java/xercesImpl.jar' ]; then
saxon+=':/usr/share/java/xercesImpl.jar \
-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \
-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl'
fi
alias saxon-xslt="$saxon com.icl.saxon.StyleSheet"
fi
Működik is rendesen, Win-be is átírtam egy .bat-ba, az is okés. A .html kimenet szépen alakul, ellenben szerencsétlen fop
-ot már össze-vissza szidtam elsősorban azért, mert nem hajlandó a .pdf-ben megjeleníteni az "ő" és "ű" karaktereket, emellett pedig a float
-ot sem ismeri.
Hogy valóban érthető legyen, ezért mellékelem a forrást is (peldak.xml)
<?xml version="1.0" encoding="utf-8"?>
<article xml:id="peldak" xmlns="http://docbook.org/ns/docbook" version="5.0" lang="hu">
<info>
<author><firstname>László</firstname><surname>Bimba</surname></author>
<title>Docbook példák</title>
</info>
<section xml:id="programlisting">
<info>
<title><literal>programlisting</literal></title>
</info>
<informalfigure float="1">
<mediaobject>
<imageobject>
<imagedata fileref="bcgmw.jpg" format="jpg" align="right" width="12em"/>
</imageobject>
</mediaobject>
</informalfigure>
<para> A <literal>linenumbering</literal> paraméter fordító-függő,
jelenleg csak a java fordítók támogatják
(<literal>saxon</literal>, <literal>xalan</literal>), de a
megfelelő kiegészítések is telepítve kell, hogy legyenek
(<literal>saxon</literal> esetében pl.
<literal>docbook-xsl-saxon</literal>), ezenkívül a kiegészítőket
is aktiválni kell fordítás közben:
</para>
<screen><prompt>$ </prompt><userinput>saxon-xslt -o peldak.html peldak.xml \
/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl \
use.extensions=1 linenumbering.extension=1</userinput></screen>
<programlisting linenumbering="numbered" lang="c"><![CDATA[
#include <stdio.h>
int
factorial( int n )
{
int
ret = 1;
while( n > 0 )
{
ret *= n--;
}
return( ret );
}
int
main( void )
{
int
t = 0, /* Tesztesetek szama. */
m = 0; /* Matrix merete. */
for( scanf( "%d", &t ) ; t > 0 ; --t )
{
scanf( "%d", &m );
printf( "%d\n", factorial( 2 * m ) / (factorial( m ) * factorial( m )) );
}
return( 0 );
}]]>
</programlisting>
</section>
<section xml:id="warning">
<info>
<title><literal>warning</literal></title>
</info>
<warning><para>Hasznos lesz ez, ha megismerem.</para></warning>
</section>
</article>
Gugliztam rendesen, hogy találjak egy normális xsl-fo processzort, az egyetlen normális listát a DocBook XSL: The Complete Guide-ban találtam:
http://www.sagehill.net/docbookxsl/FOprocessors.html
A baj az, hogy itt a legtöbb fizetős - arra hogy itthon bohóckodjak vele nem akarok pénzt költeni. Maradt a fop
, dblatex
, xmlroff
.
dblatex
A dblatex
legalább felismeri az ékezeteket, de pl. a beágyazott kép align
paraméterére fittyet hány és egy felől nem tetszik a .pdf kinézete (oké, alakítható, csak ahhoz latex
stylesheet, vagy mifene kell, ha jól értem, az .xsl itt kikerül a képből), másfelől a Win-es relatíve sok cuccot kell feltelepíteni.
$ dblatex -o dblatex.pdf peldak.xml
xmlroff
Az xmlroff
-ot nem sikerült igazából működésre bírnom, ezt a hibaüzenetet dobta:
$ xmlroff --format=pdf -o xmlroff.pdf peldak.xml /usr/share/xml/docbook/stylesheet/docbook-xsl-ns/fo/docbook.xsl
Making portrait pages on USletter paper (8.5inx11in)
(xmlroff:13937): libfo-WARNING **: Expression evaluation error:: Evaluation resulted in an error
Object path: /FoTree[1]/FoRoot[1]/FoLayoutMasterSet[1]/FoSimplePageMaster[1]/FoRegionStart[1]
Object path: /FoTree[1]/FoRoot[1]/FoLayoutMasterSet[1]/FoSimplePageMaster[1]/FoRegionStart[1]
De ha a --continue
kapcsolóval lefordítom (és kikommentelem a képbeágyazást), akkor legalább van .pdf kimenet - ékezetek vannak.
fop
Végül pedig a fop
:
Miközben ezt a kommentet írom, sikerült megoldanom az ékezet problémát: fogtam a dejavusans.ttf
fájlt és rátoltam a fop-ttfreader dejavusans.ttf dejavusans.xml
parancsot, ami legyártotta a dejavusans.xml
fájlt. Létrehoztam egy fop.config.xml
beállítófájlt, ami a következőket tartalmazza:
<fop version="1.0">
<font-base>./</font-base>
<renderers>
<renderer mime="application/pdf">
<fonts>
<font metrics-url="dejavusans.xml" kerning="yes" embed-url="dejavusans.ttf">
<font-triplet name="DejaVu Sans" style="normal" weight="normal"/>
</font>
</fonts>
</renderer>
</renderers>
</fop>
A .pdf létrehozásánál pedig megadtam, hogy ezt a konfigot használja és hogy a fő szövegrész DejaVu Sans
típusú legyen:
$ fop -c fop.conf.xml -pdf peldak-fop.pdf -xml peldak.xml -xsl /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl -param body.font.family "DejaVu Sans"
No, ennek ellenére azért még mindig nem működik a kép szöveg mellé helyezése (float
).
KÉRDÉS
Egy szó, mint száz: tudtok ajánlani olyan xsl-fo fordítót, ami helyből jól működik Linuxon és Win-en is? (lehetőleg egy példát mellékeljetek a futtatási paraméterekhez)
- A hozzászóláshoz be kell jelentkezni
FOP egész jól működik újabban. Kollégámnak sikerült belőni, működik Win / Lin alatt is.
Nekem a (természetesen fizetős) XEP jobban tetszik.
Ha nincsenek hosszú doksijaid (<11 oldal), játszani elég a Trial.
Érdemes a standard Adobe fontok helyett a ttf megfelelőkre mapelni, ekkor nem lesz gond az őŐűŰ. XEP alatt:
<font-group label="Windows TrueType"
xml:base="file:///usr/...fontpath.../fonts-ttf/"
embed="true" subset="true">
<font-family name="Arial">
<font><font-data ttf="arial.ttf"/></font>
<font style="oblique"><font-data ttf="ariali.ttf"/></font>
<font weight="bold"><font-data ttf="arialbd.ttf"/></font>
<font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"/></font>
</font-family>
...
<font-alias name="sans-serif" value="Arial"/>
Stb.
A standard MS ttf-ek jogtisztán elérhetők Win / lin alatt is.
FOP alatt is valami hasonló konfig kell, és akkor nem muszáj parancssorból fontot megadnod.
Amúgy alternatíva lehet a
XMLmind XSL-FO Converter, ha NEM akarsz XEP PDF-et, hanem elég mondjuk a OpenXML, rtf, ilyesmi.
Megy parancssorból is , de van GUIja is.
Amúgy kitartást, már tetszetős szintig eljutottál!
- A hozzászóláshoz be kell jelentkezni
Mióta utoljára írtam átváltottam xep personal-ra, kerestem egy oprendszer-független framework-ot, megtaláltam a publican-t, nagyon megtetszett a renderelt pdf és a html kimenet is, de hiányoltam, hogy (tudtommal) nem lehet Xep-et használni benne és így a float is ki van lőve. Nem adtam fel a reményt: azóta az xsl-eket hackelem.
Már csak egy dolog hiányzik (egyelőre) a boldogságomhoz: hogy kellene megoldani, hogy teljes oldalszélességű táblázatokat kapjak, de a cellák szélessége a tartalomra igazodjon (kivéve az utolsót: az érjen ki a lap széléig)?
Amennyire vissza tudtam követni a szálakat, a cellák szélességét a
/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/table.xsl
fájlon belül határozza meg az alábbi template:
<xsl:template name="generate.col.raw">
...
<xsl:variable name="colspec.colwidth">
<xsl:choose>
<xsl:when test="normalize-space($colspec/@colwidth)='*'">1*</xsl:when>
<xsl:when test="$colspec/@colwidth">
<xsl:value-of select="$colspec/@colwidth"/>
</xsl:when>
<xsl:otherwise>1*</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Na most az a baj, hogy itt arányokkal számol és mivel nem tudom a szülő blokk (a <para>, ami tartalmazza) szélességét és a táblázat szélességét sem, így nem tudok aránypárt felállítani, tehát nem tudom kiszámolni, hogy az utolsó cella milyen széles legyen.
--
A publican bűvölése mellett gugliztam, hátha rátalálok az O'Reilly xsl-ekre, hamár egyszer tőlük származik a docbook, és a könyveik 'dizájnja' is tetszik, miért ne csináljak én is hasonlót? Azt hiszem meg is találtam:
https://prod.oreilly.com/external/tools/docbook/prod/trunk/
A username=guest jelsző nem kell. Le is szedtem svn-el:
svn checkout --username guest https://prod.oreilly.com/external/tools/docbook/prod/trunk/ .
Van mellé pár sample:
https://github.com/oreillymedia/docbook_samples
...és a hozzájuk tartozó leírás:
http://chimera.labs.oreilly.com/books/1234000000058/
Ezek közül a
book.xml
-el próbálkozok.
[folyamatosan frissíteni fogom ezt a kommentet - gyk. itt logolom a tapasztalataimat.]
--
A kényszer helyett a tudásvágy vezessen a tanulásban!
- A hozzászóláshoz be kell jelentkezni
Nem tudom, nem jobb-e a szerzőnek meghatározni, mekkora legyen az oszlopszélesség.
Ha van egy gyakran használt kimeneti méreted, (tipikusan A4), akkor sejthető, hogy milyen oszlopszélességed lesz.
<colspec colnum="3" colwidth="3.25in"/>
Nomeg ha sok táblázatod van, akkor nem feltétlenül szép, ha mindegyiket automatán másra méretezi a generálás.
- A hozzászóláshoz be kell jelentkezni
Ez is érdekes lehet, ha valaki Ant környezetben nyomul.
- A hozzászóláshoz be kell jelentkezni