ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

XMLコミュのページ構造を持ったコンテンツをレンダリングするためのXML関連技術

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして,です.
いきなりですが,問題提起をさせてください.

印刷物などのページ構造を持ったコンテンツをレンダリング
するためのXML関連技術は,今後どうなってゆくのだろう?
ということを考えています.

ぼくとしては,理想を言えば,LaTeXを代替するようなフリーの
XML文書処理系が欲しい! …のですが,なかなか未来が見えて
きません.


現在利用可能な技術を,大雑把に分けるならば,
(a)FO系,(b)CSS系 (c)独自ボキャブラリ系の,
3つになるのではないかと思います.

----

(a)FO系

W3C標準としては,FOは,CSS paged modelと重複する技術です.
そのため,業界的にも,微妙な位置づけになってしまっている
ように感じられます.
仕様自体も,もう一歩,詰めきれていません.それぞれのFO処理系で,
目次や相互参照を指定するための独自タグ群が作られるなどしています.
実装としては,オープンソースではFOPがありますが,もう2年もの間,
リリースが止まっていて,多くのバグ,メモリの大食い,処理の遅さなどが
放置されている状況です.

Apache Foundation FOP : http://xml.apache.org/fop/
AntennaHouse社 XSL Formatter : http://www.antenna.co.jp/XSL-FO/
RenderX社 XEP Engine: http://www.renderx.com/tools/xep.html


(b)CSS系

CSS paged modelの処理系は少しづつ増えてきていますが(geckoなど),
InternetExplorerコンポーネントでの対応が貧弱なので,
一般的な意味では,まだ使い物になりません.今後,IE7で,
どこまで対応されるか?に,興味が集まるところだと思います.

Mozilla Foundation Gecko : http://www.mozilla-japan.org/newlayout/faq.html
GrapeCity社 Elixir Report : http://www.grapecity.com/japan/support/database/P2_246.htm


(c)独自系

W3標準ではない,独自のXML文書型を用いて,ページ構造などを記述する
実装には,さまざまなものがあります(把握しきれません…).
OpenOffice,UJAC print component/iText,JasperReport など.

http://www.openoffice.org/
http://ujac.sourceforge.net/
http://jasperreports.sourceforge.net/

----

皆さんは,(a),(b),(c),どの技術を使っていますか?
その使い心地はどうでしょうか? お聞かせ下さい.


ちなみに,ぼくとしては,本命は(b)であるような気がしています.
でも,freeでpure javaな実装が見当たらないことから,ここ2年間
くらいは,(a)のFOPを使ってきました.そうこうしているうちに,
FOPの限界がいろいろと見えてきたので,FOPを捨てて,(c)のうち
UJAC print component/iTextを使う形に移行しようかと考えていますが,
この方針が正しいのか,迷っています….

コメント(9)

追伸です.

> ここ2年間くらいは,(a)のFOPを使ってきました

ぼくは,「普通紙マークシート作成・読み取り」機能を持った
システムを開発するというオープンソースプロジェクトを
運営しています.その一部として,XSL-FO / FOP エンジンを,
さざなみフォントと合わせて,JavaWebStartでクライアント側に
配布する,というしくみを作って利用しています.

もう少し詳しいことはXSL/XSLTコミュのほうで書きましたので,
もしよろしければご参照ください.
http://mixi.jp/view_bbs.pl?id=208910

と,こういう事情なので,個人的には,特に,
freeでpure javaな処理系についての議論を
させていただけると,ありがたいです….

よろしくおねがいいたします.
追伸です.

> (b)CSS系

https://jdic.dev.java.net/
JDICを使うと,geckoやIEなどのネイティブのブラウザコンポーネントを
Javaから利用しやすくなるということなので,XSL-CSS系が一気に
花開くことになるのかも?
DocBook/XML という選択肢はなしですかそうですか。
艦長さま,

DocBookは,文章の論理的な構造を表現するものであって,ページ構造を持ったコンテンツを表現するための技術,というわけではありませんよね? そういう意味で,ここでの比較対象には含めておりませんでした.

ところで,DocBook/XMLを,ページ構造を持ったコンテンツを表現するための前段階の技術として使うとしたら,その後には,LaTeX文書に変換してからplatexにかける,XSLでFO形式に変換してからFOPなどのFOプロセッサでレンダリングする,といった展開があるかと思いますが,

・人間がLaTeXのスタイルファイルを手で書くのは手間がかかりすぎる・DSSSL/Jadeにしても,LaTeXのスタイルファイル生成までを自動化してくれるわけではない.
・FOプロセッサは,フリーの実装であるFOPが,まだ実用的な品質を達成していない・実用的な品質でリリースされる見込みが当面ない.

といったような理由で,個人的にはイマイチ…というような印象を持っていました.何か良い活用方法はあるのでしょうか.
このほか,現実的な選択肢として,OpenOffice.org XML file formatというものも,あるのかもしれませんね….
http://xml.openoffice.org/
DocBook + DSSSL という組み合わせ、という意味でですね。
CSS 系、とスタイルシート言語を特定してしまっていたのが気になったので。

まぁ、個人的には CSS は死んだとか (W3C の) ML で言われちゃってたりするとか、CSS 系にしてもどうなのよ、という話はありますが。
実装系が出てこないと REC にしないよ縛りを付けたせいで、CSS3 にならないと paged media 周りはかなり弱いのに、全然進展が見えない状況になっていますから。
艦長さま,

DSSSLを「その他」扱いにしたのは不遜の極み:-)であったかもしれません.すみません.

とはいえ,いずれの技術であれ,「全然進展が見えない状況」であるわけで,これから一体どうしたらいいんでしょうねぇ.

# そして,やむにやまれず,独自拡張・独自仕様の実装が増えてゆくことに….
CSS3 になるとボックス形状で円弧が使えたりとか、実装されるとかなり表現力の面で上がっていくので、かなり期待度高いのですけどね〜。
理想形 :) で行けば、かなりのレベルに仕上がるはずなので。

まぁ、現実は orz としか言い様がないわけですが……。

SVG をまともに印刷できるようにしても……所詮 SVG のインタラクティブ性は紙メディアでは再現できないわけで(略)。

そんな私は、W3C 系技術が早く確立して欲しいと思っている一人です。

# 10 年後でも無理な気はしますが。
# CSS2 ですら、Spec. 出てから何年経ってるやらって世界ですし。
SVGをページに分けて印刷するというのは,所詮は,
http://support.adobe.com/devsup/devsup.nsf/docs/50666.htm
こんなもんにしかならないわけでしょう…orz 期待薄.

layouting floating objects on paged media な技術としては,やっぱりCSSですね.

…といいつつ,OpenOffice.org XML file formatに魅力を感じてしまう今日この頃です.
http://books.evc-cit.info/odbook/ch03.html#page-content-section

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

XML 更新情報

XMLのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。