我对 FB 如何创建 FBML 以及如何创建类似的东西非常感兴趣。他们是否编写了一个用 HTML 代替 FBML 的 C++ 处理器,或者他们是否使用 XSLT,或者他们做了什么来创建这样的模板语言?我想这样做主要是为了我自己的知识和业余时间的乐趣,看看我是否能够构建类似的东西。我试过查找他们是如何做到的,但我得到的只是使用 FBML 的方法。
2 回答
3
如果是 Facebook 应用程序,那么 FF 或 IE 等浏览器会连接到 FBML 代码, app.facebook.com/some_app
Facebook 服务器将连接到www.foobar.com/blah
(应用程序创建者向 Facebook 注册),Facebook 可以将其更改为任何它想要的 -将 FBML 更改为 XHTML。他们可以使用解析器来解析 FBML 代码,并相应地将其转换为 XHTML。
于 2011-01-07T04:18:30.987 回答
0
好吧,有 3 种方法可以为 XML 编写转换为 HTML 的解析器:
- 用 lex 和 bison 编写解析器
- 使用 XML 解析器库将 XML 读入内存,并使用“普通”编程语言将 XML 转换为 HTML。
- 使用 XSLT
- 使用一些支持自定义标签库的 Web 框架,可以将 FBML 标签转换为 HTML。
选项 #1 基本上没有完成,因为您始终可以使用 #2 代替。
从某些标签需要与 XML 文件之外的资源(例如fb:if-can-see
)对话这一事实来看,#2 和 #4 似乎比 #3 更有可能——两者都更容易访问 SQL 数据库或 NoSQL 数据库,并且喜欢。
(许多语言的 XSLT 库允许定义自定义函数,这些函数可以访问使用它们实现的语言的任意数据源,因此#3 并非不可能)。
于 2011-01-07T04:56:29.430 回答