2011-07-08 11 views
2

私は、JavaでプログラミングされたWebページの形式で書式なしのテキストをレンダリングする必要があるユースケースを持っています。すなわち、テキストは自動的にスタイル、段落、箇条書きなどのようなWebページのようにフォーマットされます。
まず、書式なしのテキストを分析して段落、箇条書き、見出しなどの候補を見つけなければなりません。私はこの作業にLuceneアナライザ/トークナイザを使う予定です。選択肢はありますか?
フォーマットされたWebページを、タイトル、箇条書きなどのようなさまざまなエンティティのプレースホルダを使用して、ある種のテンプレート(例:ベロシティテンプレート)に変換することです。
Javaのテキスト解析/私はこれをする?オープンソースが好ましい。
Javaでこのようなタスクをより良い方法で実行するための提案はありますか?htmlページからテンプレートを自動的に作成する方法は?

ありがとうございました。

+0

あなたは本当にそれぞれの場合の別のテンプレートが必要です、またはあなただけ作用する単一のテンプレートを使用することはできませんそれを構文解析/分割した後のテキストを表すモデルオブジェクト上で? (テンプレートは、ページを表示するためにループし、各ページはヘッダー、段落などにループします)。あなたの本当の問題は、もちろん、分割になります。 – phtrivier

+0

ウェブページを選択してテンプレートとして指定できるようにする必要があります。その後、入力したテキストはすべてそのWebページのように書式設定する必要があります。 – nabeelmukhtar

+0

アプリケーションによってWebページが生成されていますか、それとも別のWebページから生成されていますか?最初のケースでは、ユーザーが選択したページ(偽のテキストまたはLorem Ipsum)とユーザーが提供したコンテンツを使って生成するページに同じテンプレートを使用できませんか? 2番目のケースでは、ページのどの部分がユーザー生成コンテンツの一部に対応するのかをどのように知ることが期待されますか? – phtrivier

答えて

1

あなたがやっていることには多くの困難があります。

ユーザー入力

あなたがテキストの構造を推測するつもりはありませんしている、任意のコンテキストを提供するために、ユーザーに質問しない場合。少なくとも、GUIにタイトルと一連の段落を入力するように指示する必要があります。

理想的には、よく知られているマークアップ言語(Markdown、Textileなど)に従って、オープンソースパーサーを使用して構造を抽出するように指示することができます。

外部ページ

いずれかのページが使用されている場合、あなたが頼ることができる唯一のものは、「構造的なマークアップ」です。したがって、ページのタイトルが「Hello World」で、ページのどこかに「h1」要素があることを前提とすると、と仮定して、これがヘッダーの場所になることができます。

しかし、ページがdivタグスープであり、CSSだけがテキストの大半とは対照的にヘッダーのレンダリングを区別するために使用される場合は、と思うでしょう。スタイリングの仕方done:ページの作り方がわからないと、それは不可能です。

Luceneがこれを助けてくれるとは思っていません(Luceneはテキストの大部分に使われている単語のインデックスを作成するように作られていますが、私はそれがあなたのテキストは、タイトル、サブタイトルなどを意味します...)

外部のページから生成テンプレート

あなたが権利を「推測」していると仮定すると、あなたはタグを変更するには部品を交換するページ

  • を貼り付ける

    • コピーしてコンテンツを生成することができあなたのテンプレート言語の選択
    • テンプレートシステムがテンプレートシステムにアクセスできるどこかに格納する
    • おそらく(あなたのテンプレートは、元のウェブサイトの作者の作品を組み込むであろうから、rigth人はもちろんひどい法的な問題を提起するだろう

    のための右のテンプレートを使用するテンプレート/ビューシステム(速度のためviewResolver)を設定著作物)

    より現実的な解決策

    私はあなたがあなたの問題を制約することをお勧め:

      あなたは、提供の構造を知っている(と非常に簡単に再利用することができます) テンプレート
    を使用して、使用可能ないくつかの構造情報を持っている入力(何でも、マークアップ言語を使用し、それを入力するためにGUIを使用)
  • を使用して
  • これらの点はいずれもテンプレートシステムに関連していないことに注意してください。

    そうでなければ、私はあなたが仕事のunreasonnable量に向かっている怖い...

  • 関連する問題