Web services 从Sharepoint到HTML的CAML

Web services 从Sharepoint到HTML的CAML,web-services,sharepoint,interop,caml,Web Services,Sharepoint,Interop,Caml,我正在调用返回CAML片段的函数。我已经在互联网上进行了广泛的搜索,但我一直无法找到如何使这个CAML片段呈现为“普通”HTML,我可以在一个更健全的环境中呈现,如Plumtree、WLP、Liferay或SharePoint以外的任何其他门户 如果没有办法做到这一点,我想知道为什么微软首先编写了返回CAML的SharePoint web服务调用。Web服务用于互操作性,CAML似乎仅在SharePoint中运行的Web部件中有效。[比尔和史蒂夫注意:这不是互操作性。] 如果我不能使用返回的CA

我正在调用返回CAML片段的函数。我已经在互联网上进行了广泛的搜索,但我一直无法找到如何使这个CAML片段呈现为“普通”HTML,我可以在一个更健全的环境中呈现,如Plumtree、WLP、Liferay或SharePoint以外的任何其他门户

如果没有办法做到这一点,我想知道为什么微软首先编写了返回CAML的SharePoint web服务调用。Web服务用于互操作性,CAML似乎仅在SharePoint中运行的Web部件中有效。[比尔和史蒂夫注意:这不是互操作性。]


如果我不能使用返回的CAML做任何事情,我将调用一个只返回数据的不同web服务,然后编写自己的UI。我希望有一条更容易的路。任何建议都将不胜感激。

您可以通过XSLT样式表发送CAML以生成HTML或XHTML

编辑:

考虑您的第一个问题(为什么SharePoint从其某些web服务返回CAML)。。。谁知道呢?它可能用于支持SharePoint designer等创作工具。但由于缺乏文档和工具,CAML或多或少是SharePoint内部的东西,这一点似乎很清楚。目前,执行CAML到HTML转换需要以某种方式访问SharePoint中的CAML呈现引擎,或者重新实现它。两种选择都没有吸引力


我认为您的结论(调用返回web服务的数据并自己呈现HTML)可能是最好的选择。

CAML仍然是XML,如前所述,XSLT将能够将其呈现为HTML。CAML的实际gnraly嵌套或/和结构是另一个问题

这需要展开CAML结构并以正常人理解的方式显示它

不幸的是,XSLT语言不适合展开这样的嵌套结构(它没有堆栈)。这是可能的,但我强烈建议使用另一种语言来解析和展开CAML

我还没有看到CAML到SQL的转换代码。听起来像是一个很棒的Codeplex项目


总之。。。你有点迷糊了。虽然它是XML,但它的结构不适合在任何其他查询语言中使用。

尝试编写XSLT以将CAML呈现为HTML听起来比在标准(即非CAML)XML上编写UI更痛苦(如我在问题的最后一段中提到的)。CAML到底有什么意义?或者它的存在仅仅是为了挫败开发人员?我只能想象,创建它的人认为有一点,即我们需要一种xml查询语言。毕竟,XML就像暴力一样,如果它不能解决您的问题,您就没有充分使用它。但归根结底,CAML实际上所做的一切都让美国开发人员感到沮丧。我也可以用叉子戳我的眼睛,但那有什么好处呢?感谢编辑——我们自己绘制看起来就像我们要走的路。我曾考虑尝试以某种方式使用SharePoint的ISAPI过滤器来为我进行CAML解析/呈现,但我更愿意编写一些UI,而不是尝试破解他们的引擎。