JavaME に最適なバイナリ XML 形式に関する Izb の質問に続いて、バイナリ XML に似た形式または単純な XML の実装を探しています。そのような実装のための私の測定基準は、最も重要なことから、次のとおりです。
- サポートされている電話。基本的なJTWI電話はそれを実行できるはずです。
- 検証済みまたはオープンソースのいずれかである必要があるため、検証済みです。
- 小さなメモリフットプリント。
- 速い。
- サーバーサイドで使いやすい。
JavaME に最適なバイナリ XML 形式に関する Izb の質問に続いて、バイナリ XML に似た形式または単純な XML の実装を探しています。そのような実装のための私の測定基準は、最も重要なことから、次のとおりです。
kXML を見てみましょう - http://kxml.objectweb.org/。WBXML をサポートし、メモリ フットプリントが小さいですが、エラーに対してあまり厳密ではありません。
W3C は、バイナリ XML テクノロジの広範かつオープンな分析を実施しました。これには、9 か月にわたるベンチマークが含まれており、ユース ケースと要件に最も小さく、最速で、最適なものはどれかを判断しました。この分析に基づいて、彼らは 1 つのフォーマットをウェブの単一標準として選択しました。
彼らが選択した技術は、別のコメンターによって報告された FastInfoset ではなく、「効率的な XML」と呼ばれるものです。W3C は、FastInfoset がユース ケースに対して十分なレベルのコンパクトさと汎用性を達成していないことを発見しました。この決定の簡単な説明は、W3C の公開メーリング リストhttp://lists.w3.org/Archives/Public/public-exi/2009Dec/0001.htmlにあります。http://www.agiledelta.com/product_efxsdk.htmlから、モバイル デバイスおよびサーバー プラットフォーム用の W3C EXI 標準の省スペースで高速な実装を見つけることができます。
J2ME に NanoXML を使用できます。それはうまく機能し、実稼働環境で問題が発生したことはありません. 検証対象外ですのでご注意ください。
ヤング
答えてくれたすべての人に感謝しますが、これは私が最終的にしたことです-
J2MEでのXMLの解析に関する優れたドキュメントがここにあります。いくつかの選択肢がある表があります。今のところ、私はASXMLPを選択し、それをxml-push解析に使用することを選択しました。
W3C は、Fast InfoSet と呼ばれる XML のバイナリ エンコーディングを定義しましたが、組み込みデバイスではなく、大量の Web サービス向けに最適化されており、軽量で高速な実装が適しているとは思いません。
プレーンな XML に固執する必要があり、DOM の実装が必要な場合は、XOM ( http://xom.nu ) を使用してください。フットプリントが最も小さい DOM であり、非常に高速です。
しかし、フットプリントを本当に削減する必要がある場合は、SAX や STAX などの非 DOM API を使用する必要がありますが、それはかなり手間がかかります。