ヤバイ分かったXSL-FO
ヤバイ。わかっちまった。
1. 俺式XMLで文章を書く。たとえば↓ piyo
2. とりあえず↓を書く
3. ↑のココ!のところに、xsl:attribute-set(CSSで言えばスタイル指定的な)と、xsl:template(CSSで言えばセレクタ的な)を並べていく
これでWiki記法→XML→PDFができる。
思うに、スタイル指定が無駄に柔軟で冗長すぎる。そんなにプログラマブルじゃなくていい。プログラマブルな仕事はprocessメソッドでやっておく。
要するにCSSのセレクタがXPathになって、スタイル指定がXSL-FO固有のモノになった感じになればいいわけで、↓こんな記法はどうか。
>base
color: black
://chapter/title
fostyle splitter: ";"
例のごとく閉じタグは要らない。(ついでにインデントも要らないけど、インデントは付けないと見にくい)
行末で終端するので ; は要らない。syntaxでsplitterを渡すのも良し。
fostyleの行頭マークを"\t"にするのも良し。
インライン要素を使えば、↓こんな風に計算ができるはず。スバラシイ。
\define body_width=10
\define navi_width = 2
://body
width: $(body_width)cm
://contents
width: $(body_width - navi_width)cm
://navi
width: $(navi_width)cm
コレはCSSでも欲しいな…