2 votes

CAML de Sharepoint à HTML

J'invoque l'une des API de services Web de SharePoint qui renvoie un fragment CAML. J'ai fait de nombreuses recherches sur Internet, mais je n'ai pas réussi à trouver comment faire en sorte que ce fragment CAML soit rendu sous la forme d'un HTML "normal" que je peux rendre dans un environnement plus sain comme Plumtree, WLP, Liferay ou tout autre portail autre que SharePoint.

Sans cette possibilité, je me demande pourquoi Microsoft a écrit des appels de service web SharePoint qui renvoient le CAML en premier lieu. Les services Web sont destinés à l'interopérabilité et il semble que le CAML ne soit valable qu'au sein d'une WebPart exécutée dans SharePoint. (Note à Bill et Steve : ce n'est pas de l'interopérabilité).

Si je ne peux rien faire avec le CAML qui revient, je vais simplement appeler un autre service web qui ne renvoie que des données et écrire ma propre interface utilisateur. J'espérais un chemin plus facile. Toute suggestion serait grandement appréciée.

5voto

Nat Points 10871

Le CAML est toujours XML et comme mentionné, XSLT pourra le rendre en HTML. La structure gnraly nested OR/AND du CAML est un tout autre problème.

Il faudrait pour cela dérouler la structure CAML et l'afficher de manière à ce que les gens normaux la comprennent.

Malheureusement, le langage XSLT ne convient pas pour dérouler des structures imbriquées comme celle-ci (il n'a pas de pile). C'est possible, mais l'ayant fait, je recommande fortement d'utiliser un autre langage pour analyser et dérouler le CAML.

Je n'ai pas encore vu de code de conversion CAML vers SQL. Cela ressemble à un grand projet Codeplex.

Donc en résumé... vous êtes un peu dépassé par le CAML. Bien qu'il s'agisse de XML, sa structure est inadaptée à l'utilisation dans tout autre langage de requête.

4voto

Paul Lalonde Points 3940

Vous pouvez envoyer le CAML à travers une feuille de style XSLT pour générer du HTML ou du XHTML.

Edita:

Si l'on considère votre première question (pourquoi SharePoint renvoie-t-il le CAML de certains de ses services Web)... qui sait ? Il se peut que ce soit pour prendre en charge des outils de création tels que SharePoint Designer. Mais il semble clair, d'après le manque de documentation et d'outils, que le CAML est une chose plus ou moins interne à SharePoint. À l'heure actuelle, la conversion du CAML en HTML nécessite soit d'accéder d'une manière ou d'une autre au moteur de rendu CAML dans SharePoint, soit de le réimplémenter. Aucune de ces options n'est intéressante.

Je pense que votre conclusion (appeler des services web retournant des données et rendre le HTML vous-même) est probablement votre meilleure option.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X