古い質問ですが、他の人のために答えます。
A1) プレーンな XML であるため、他のファイルと同じようにストリーミングできます。取得したら、jquery を使用して解析する必要があります。次に、ツリーをたどって、探しているノードを見つけることができます。各ストーリー ファイルにノードが 1 つしかない場合は、正規表現を使用して自分で解析できます。しかし、特定のフィールドのデータだけをクライアントに表示するのではなく、Java でデータを解析してクライアント アプリに送信するだけでよいようです。
A2) JavaScript を使用して XML を更新することもできますが、XML を中間層に送り返して IDML ファイルに保存する必要があるため、データをサーバーに送信し、サーバーに扱う。Javaはそれで問題ありません。
A3) 何を達成しようとしているのかを正確に把握していなくても、サーバー側でできることはすべて行うことをお勧めします。IDMLファイル用の「HTML5エディター」を提供する必要があると述べました。それ自体は、可能ではありますが、ゼロから行うには膨大な要求です。IDML ファイルを Web ページ経由で (Flash/Flex クライアントを使用して) 維持できるいくつかの製品のうちの 1 つを検討することをお勧めします。
IDML をオンラインで維持/表示できるサードパーティ製品の (非常に高価な) 例としては、Adobe InDesign Server SDKやNXPublisherなどがあります。
私のプロジェクトは、誰かが Web ページに入力したデータから IDML テンプレートに基づいて IDML ファイルを作成することでした。私はそれを次のように処理しました:
- フォームデータに入力されたユーザー
- サーバーに送信されたデータ
- サーバーは、適切な IDML テンプレート ファイルを新しい一時フォルダーに解凍します。
- サーバーは抽出されたストーリー ファイルを開き、定義済みのキーワード (<content> タグ内の {{first_name}} など) を検索して置換し、そのテキストをユーザーが提供したものに置き換えます。
- 各フィールドで繰り返します
- 一時フォルダ ファイルを新しい IDML ファイルに圧縮します
- 1 日に 1 回、誰かが Mac に InDesign をロードし、私が書いた小さな自動化スクリプトを実行して、待機中のすべての IDML ファイルをループ処理し、それらから印刷可能な PDF ファイルを作成しました。
あなたの解決策が何であったか知りたいです。しかし、IDML をオンラインで表示/編集する (特に HTML5 クライアントを使用する) 安価なソリューションを誰かが知っている場合は、それについて聞きたいと思います。;)