2011-01-07 10 views
0

私はFBがFBMLをどのように作成し、どのように類似のものを作成するかについて本当に興味があります。彼らは、FBMLをHTMLに置き換えるC++プロセッサを書くのか、XSLTを使うのか、そういうテンプレート言語を作るために何をしましたか?私は似たようなものを作ることができるかどうかを知るために、自分の知識と楽しみのために主にこれをしたいと思っています。 Iveは彼らの作り方を見てみましたが、FBMLを使う方法があります。FBはどのようにFBMLを作成しましたか?

答えて

0

まあ、HTMLに変換し、XMLのためのパーサを書くための3つの方法があります。

  1. がメモリにXMLを読み取るためにXMLパーサライブラリを使用
  2. をLEXでパーサを書いて、バイソン
  3. 、およびXMLをHTMLに変換する「通常の」プログラミング言語です。
  4. XSLT
  5. FBMLタグをHTMLに変換できるカスタムタグライブラリをサポートするいくつかのWebフレームワークを使用します。

オプション#1は、常に#2を使用できるので、基本的には行われません。

いくつかのタグがXMLファイル(例:fb:if-can-see)の外部のリソースと話す必要があるという事実から判断すると、#2と#4は#3よりも可能性が高くなります - 両方ともSQLデータベースまたはNoSQLデータベースなどが含まれる。

(多くの言語のXSLTライブラリでは、実装されている言語で任意のデータソースにアクセスできるカスタム関数を定義できるため、#3は不可能ではありません)。

+0

さて、私は主にPHPの解析のようなパーサーであることを知っておく必要があることを知っているので、そのような構文解析について一般的なことを主に思っていました。 Webベースの言語ではできない限り、パーサーを構築することはできません。私はCやC++などに堪能ではありません。LOLしかしあなたの答えはよかったです。 :) – vol4life27

3

FBMLコードの場合、FFやIEなどのブラウザがapp.facebook.com/some_appに接続し、Facebookサーバーがwww.foobar.com/blah(Facebookでアプリ登録者が登録する)に接続し、Facebookが変更できるFBMLをXHTMLに変更します。彼らはパーサを使って、FBMLコードを解析し、それに応じてXHTMLに変換することができます。

+0

これはJavaScriptやPHPを解析するような通常のパーサですか? – vol4life27

+0

はい、さまざまな言語で書かれたパーサーが数多くあり、Cを使用していた昔は、lexとyaccを使ってスキャンと解析を行っていました。おそらくそれらより新しいツールがあります。 –

+0

「異常なパーサ」とは何でしょうか? :D –

関連する問題