2008-08-27 18 views
4

私は基本的なワープロアプリケーションを書いており、画面に表示するために自分のコードが解析するネイティブの「内部」フォーマットを解決しようとしています。私はこれをXMLにしたいので、将来はXSLTを書いてODFやXHTMLなどに変換することができます。軽量リッチテキストXML形式ですか?

使用する既存の標準を検索する場合、有望なのはODFのみです。しかし、それは私が必要とするものの大規模な過度のように見えます。私が必要とするのは、段落タグ、フォントの選択、フォントサイズ&デコレーションです。それはかなりです。最小限のODFレンダラーを実装するには長い時間がかかりますが、それが問題になるかどうかはわかりません。

今私は自分のXML形式を作ることを考えていますが、それは実際には良いことではありません。標準を使うことをお勧めします。特に、私が将来必要とするかもしれないXSLTが既に書かれていることが分かります。

または、私は弾丸を噛んでODFを実装する必要がありますか?

EDIT:回答

私は前にXSL-FOを知っていたが、原因スペックの重量に実際にそれをconsdieredていなかったについて。しかし、あなたは正しいです、サブセットは、私が仕事をし、成長するために必要なものすべてを私に与えるでしょう。あまりにも多くの通知をありがとう。

さらに、FOPやRenderXのようなレンダリングライブラリを含めることで、PDF生成を無料で行うことができます。

答えて

4

プレゼンテーションプレゼンテーションを表現する必要があると確信しているので、XSL-FO W3C勧告を検討する価値があります。これは本格的なページ記述言語であり、よく知られているXSLTの他の半分のものです。ただでさえ(「段落タグ、フォント選択、フォントサイズ&飾り」のご仕様に一致するように)可能性 -

明らかに全体のことは何もなく、「lightwight」ですが、あなただけの 非常に限られたサブセットを組み込む場合fo:blockcommon font properties、のようなもの:これはおそらく、ちょうどあなた自身をロールの上にいくつかの利点を持っているでしょう

<yourcontainer xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
    <fo:block font-family="Arial, sans-serif" font-weight="bold" 
     font-size="16pt">Example Heading</fo:block> 
    <fo:block font-family="Times, serif" 
     font-size="12pt">Paragraph text here etc etc...</fo:block> 
</yourcontainer> 

。作業するためのオープンな仕様、それが意味するすべての仕様があります。 CSSプロパティを(SVGと同様の方法で)XML属性として再利用するため、多くの書式設定の詳細が多少親しみに見えます。あとでインテリジェントページングが欠かせない機能であると判断した場合は、アップグレードの道があります。アプリケーションの関連性が増していくにつれて、より多くのセクションが含まれます。

XSL-FOの調査から得られるかもしれないもう1つのことがあります。パラグラフとフォントの複雑さが非常に複雑になることがあるのを見てください。さまざまな言語やユースケースに合わせてテキストレイアウトや改行を「正しい方法」にしようとすると、私にとっては非常に難しいようです。

-1

XMLは、外部形式ではなく、内部の形式です。

XHTMLの何か問題がありますか?シンプルで、ユビキタス(少なくともHTMLです)です。あなたの実装は簡単にデバッグすることができ、ユーザは永遠に偉大なものになります。

0

でも、XMLに変換できるようにする必要があるので、私のドキュメントツリーとDOMツリーをメモリに保持する理由は何ですか?

私のプログラムの特有の機能の1つは、入力時にすべてが常に保存され、キーを押すたびにXMLへの変換全体を実行したくないからです。簡単に入力と出力をメモリ内のDOMツリーに直接結びつけることができます。

編集: ああ、XHTMLの唯一の問題は、基本ページ設定をサポートしたいということです。しかし、私はそれにいくつかの追加のタグを使用して私を止める何もないと思うが...

1

ワードプロセッサの場合は、おそらくDocBookはODFより少し軽いかもしれませんか?しかし

、ウィキエントリステート:

のDocBookは技術文書のためのセマンティックマークアップ言語です。もともとは、コンピュータのハードウェアとソフトウェアに関連する技術文書を書くことを意図していましたが、他の種類の文書にも使用できます。

したがって、汎用のワードプロセッサにはあまり適していない可能性がありますか?

DocBookを使用する利点は、多数のDocBook - >他のフォーマットコンバータが利用可能でなければならないということでしょうか?お役に立てれば。

1

私はDocBookが好きですが、実際には適合しません。プレゼンテーションに依存しないように努力しています.XSLTを使用してプレゼンテーション形式にすることを意図しています。

ワードプロセッサでは、コンテンツと共にプレゼンテーションを編集しています。例えば、ユーザは「キーワード」をマークしたくない、というのは、必然的にテキストを太字にしたいということです。

DocBookエディタは非常に素晴らしいものです(私は良いものはないと思いますが)。実際には私がやっていることではありません。

関連する問題