2011-01-07 66 views
0

我對FB創建FBML以及如何創建類似的東西非常感興趣。他們是否編寫了一個用HTML代替FBML的C++處理器,或者他們使用XSLT還是他們做了什麼來創建這樣的模板語言?我想這樣做主要是爲了我自己的知識和業餘時間的樂趣,看看我是否能夠建立類似的東西。我試着查找他們是如何做到的,但我所得到的只是使用FBML的方法。FB如何創建FBML?

回答

0

嗯,有寫一個解析器的XML轉換爲HTML 3種方式:

  1. 寫lex和解析器野牛
  2. 使用XML解析器庫讀取XML到內存中,並我們使用「正常」編程語言將XML轉換爲HTML。
  3. 使用XSLT
  4. 使用一些支持可以將FBML標記轉換爲HTML的自定義標記庫的Web框架。

選項#1基本上沒有做,因爲您總是可以使用#2代替。

從一個事實,即某些標籤需要跟資源的XML文件(例如:fb:if-can-see)以外的情況來看,#2,#4似乎比#3更容易 - 兩者必須SQL數據庫更容易獲得或NoSQL數據庫等。 (許多語言的XSLT庫允許用戶定義自定義函數,這些自定義函數可以使用他們實現的語言訪問任意數據源,所以#3並不是不可能的)。

3

如果是Facebook應用,那麼諸如FF或IE之類的瀏覽器連接到app.facebook.com/some_app,並且Facebook服務器將連接到www.foobar.com/blah(該應用創建者在Facebook上註冊)用於FBML代碼,並且Facebook可以改變它無論它想要什麼 - 將FBML改爲XHTML。他們可以使用解析器來解析FBML代碼,並相應地將其轉換爲XHTML。

+0

所以這些只是解析JavaScript和PHP的普通解析器? – vol4life27 2011-01-07 04:21:20

+0

是的,有很多用不同語言編寫的解析器,而在過去使用C的解析器中,人們使用lex和yacc來進行掃描和解析。可能有比這些更新的工具。 – 2011-01-07 04:24:15