2017-08-03 4 views
0

私は新しいツールを開発しています。このツールは、XMLファイルを取得し、いくつかのユーザーインターフェイスを作成します。レクサーパーサー混乱

私は本当に生物に自分のコードが必要です。これを行うために私は名前空間を使います。入力ファイルによって作られた名前空間の間のパスは、そのように見えます。

XMLパーサ>>(またはレクサー)>>トークン木>>ジェネレータ>>ユーザーインターフェイス

問題だが、私はレクサーとパーサの違いを理解していないということです。

protected function __construct(\SimpleXMLElement $xml, string $xmlFileName, 
           AbstractContainer $container) { 

    // Link the container with its child 
    $this->container = $container; 

    // Initialize the class attributes 
    $this->name = $xml->attributes()["name"]; 
    //... 
} 

このコードは、私のコンストラクタの一部を表しています。しかし、レクサーの部分はどこにあり、パーサの部分はどこにありますか?私の英語のため申し訳ありません

は、私は...私はあなたの質問の多くを理解していないことを

答えて

1

それを学んでいますが、レクサーは文字トークンへのシーケンスに変換するプロセスです。それは明らかにあなたが使用しているXML APIによって既に行われています。

コードにはレクサーがありません。 xml形式の解釈をいくつかのレイヤーで分離したい場合は、最も適した方法で自由に行うことができます。