ヤバイ分かったXSL-FO

ヤバイ。わかっちまった。


1. 俺式XMLで文章を書く。たとえば↓

 
  fuga
  

piyo

 



2. とりあえず↓を書く


 
  
   
  

 

 
  
   
  

 





3. ↑のココ!のところに、xsl:attribute-set(CSSで言えばスタイル指定的な)と、xsl:template(CSSで言えばセレクタ的な)を並べていく


 24pt
 bold


 
  
 



 10pt


 
  
 





これで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でも欲しいな…