1

モバイルデバイス用のアプリを開発しています。jquery mobile と phonegap を使用しています (デバイスの内部機能にアクセスするため)。10 から 1000 以上のノードを持つ大きな xml ファイルがあります。基本的に、各ノードを独自のページに表示する必要があります。jquery モバイルでは、すべてのページを含む 1 つの html ファイルを作成するのが一般的です。

私はこのようなものを構築するというアイデアで遊んでいます:

<div data-role="page" id="1">JS template filled with content of node1 from xml and linking to page 2.</div>
<div data-role="page" id="2">JS template filled with content of node2 from xml and linking to page 3.</div>

XMLファイルをjavascriptで解析して、これだけ巨大なページを作ると、アプリがものすごく遅くなってしまうのではないかと心配です。私の経験では、ページが非常に長い場合、ブラウザはページをうまく処理できません。xml ファイルには、テキスト、および画像、ビデオ、オーディオファイルへのリンクを含めることができます。クライアント側で xslt を介して xml ファイルをレンダリングしようとしましたが、ほとんどの Android ブラウザーが xsl をサポートしていない (少なくとも私のブラウザーはサポートしていない) という問題に遭遇しました。アプリはインターネットに接続していなくても動作するはずなので、クライアント側で解決策を見つける必要があります。

正しい方向に私を向けることができますか?メインのhtmlファイルに数百ページが含まれていても大したことではないのでしょうか?一度に複数のページを表示しないため、xml からページを 1 つずつ取得するというアイデアもありました。しかし、既にユーザーに表示したノードを追跡する方法がわかりません。xml ファイルには、自動インクリメント識別子が含まれていません。したがって、xpath を介して特定のノードに順番にアクセスするのは難しいのでしょうか、それとも何かを見逃しているのでしょうか?

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

4

1 に答える 1

1

1,000 個のノードを含む XML ファイルは、ほとんどの人の基準ではかなり小さい (そして 10 個のノードを含むものは非常に小さい) ため、実際の問題が何であるかを理解するのは困難です。

一部のモバイル ブラウザーは XSLT をネイティブにサポートしていませんが、Javascript 対応ブラウザーで実行される XSLT 2.0 実装を提供する Saxon-CE を試すことができます。

于 2012-11-04T09:31:18.053 に答える