ビューの機能を使用して、グリッドレスポンステーブルのみを表す単純なxmlからのデータを処理したい
<list>
<listpos id="12312">
<foo>attr1</foo>
<bar>attr bar</bar>
...
</listpos>
<listpos id="124412">
<foo>attr 2</foo>
<bar>attr barxy</bar>
...
</listpos>
...
...
</list>
したがって、主なタスクは、そのテーブルをソート可能に表示し、一部の列を除外し、フィルタリングして検索することです。
これはビューで可能ですか?それは私が推測するプラグインによって処理されますか?または、プラグインは出力専用ですか? (私はjsonを知っています、atom etcプラグイン/モジュール。)
また、フィードモジュールとxml/xpathパーサーを試して、ビューに表示できるようにインポーターにノードを作成させました。しかし、ユーザーのログアウト後はとにかくそれらを削除する必要があります。これは、それが機密データであり、Webサーバーに保持してはならないためです。
そして、このデータを他のソースと結合すること、つまりノードテーブルと結合することについてはどうでしょうか?
このためのモジュールがあります: XML Views 。
これを行う最善の方法は
このアプローチを使用する利点
私の経験では、XMLを毎回解析することは非常にコストがかかります。
ただし、xmlデータは機密情報であり、毎回サーバーから消去する必要があるため、ケースは異なります。ユーザーはログアウトします。
したがって、ノードを作成して削除することは、それほど賢明な手順ではありません。
最善の方法は、単純なxmlライブラリを使用してカスタムモジュールを作成し、ビューをまったく使用しないことです。そのデータを一時テーブルに保存し、カスタムモジュールまたはカスタムSQLクエリを使用して表示した後、ユーザーがログアウトするときにユーザーフックを使用してテーブルとxmlを削除します。
それは完全に真実ではありません。ビューは、SQLに依存しないハンドラーを使用できます。 http://drupalmodules.com/module/entityfieldquery-views-backend は、そのようなことを行うと主張するモジュールの例です。他にもあると思います。 http://developmentseed.org/blog/2009/feb/05/extendr-flickr-and-views も同様の興味深いケーススタディです。
そうは言っても、それはおそらく簡単な作業ではありません。
ビューからXMLデータにアクセスする場合は、XMLデータをデータベースに保存する必要があります。ビューが実際に行うことは、SQLを作成し、データを出力するためのいくつかの異なるテーマ関数を提供することです。
これに役立ついくつかのモジュールがあります。カスタムデータがあるため、おそらく data モジュールが最適です。これにより、データがカスタムテーブルに保持されます。
Cronジョブを作成して、x時間/日より古いエントリを削除して、データを永続的に保存しないようにすることができます。この方法は少しすっきりしていて、私が考えることができる最良のオプションです。