2

CAML フラグメントを返すSharePoint の Web サービス API の 1 つを呼び出しています。私はインターウェブを広範囲に検索しましたが、この CAML フラグメントを「通常の」HTML としてレンダリングし、プラムツリー、WLP、Liferay、またはその他のポータルなどのより健全な環境でレンダリングできるようにする方法を理解できませんでした。 SharePoint以外にも。

これを行う方法がなければ、そもそも Microsoft が CAML を返す SharePoint Web サービス呼び出しを作成した理由が気になります。Web サービスは相互運用性のためのものであり、CAML は SharePoint 内で実行されている WebPart 内でのみ有効であるようです。[ビルとスティーブへの注意: それは相互運用性ではありません。]

返された CAML で何もできない場合は、データのみを返す別の Web サービスを呼び出してから、独自の UI を作成します。もっと楽な道を望んでいました。どんな提案でも大歓迎です。

4

2 に答える 2

5

CAML は引き続き XML であり、前述のように、XSLT はそれを HTML としてレンダリングできます。CAML の実際の複雑にネストされた OR/AND 構造は、まったく別の問題です。

そのためには、CAML 構造を展開して、一般の人が理解できるように表示する必要があります。

残念ながら、XSLT 言語は、このようなネストされた構造の展開には適していません (スタックがありません)。可能ですが、CAML の解析と展開には別の言語を使用することを強くお勧めします。

CAML から SQL への変換コードはまだ見ていません。素晴らしい Codeplex プロジェクトのようですね。

要約すると...あなたはCAMLで少し詰め込まれています。XML ですが、その構造は他のクエリ言語での使用には適していません。

于 2008-10-30T20:53:30.450 に答える
4

XSLT スタイルシートを介して CAML を送信し、HTML または XHTML を生成できます。

編集:

あなたの最初の質問 (SharePoint が一部の Web サービスから CAML を返す理由) を考えてみてください...誰が知っていますか? SharePoint デザイナーなどのオーサリング ツールをサポートするために存在する場合があります。しかし、ドキュメントやツールが不足していることから、CAML が多かれ少なかれ SharePoint の内部的なものであることは明らかです。現在、CAML から HTML への変換を実行するには、何らかの方法で SharePoint 内の CAML レンダリング エンジンにアクセスするか、再実装する必要があります。どちらのオプションも魅力的ではありません。

あなたの結論 (データを返す Web サービスを呼び出し、HTML を自分でレンダリングする) がおそらく最善の策だと思います。

于 2008-10-30T20:17:17.353 に答える