SEATML_Managerによるseatmlファイルの読み込みと構文解析
eSEATの初期化プロセスの中で、seatmlファイルが読み込まれ、そこに定義された項目に従って処理が進められます。seatmlのファイル読込とその処理は、eSEAT_Coreクラスの loadSEATMLメソッドに定義されています。
このメソッド内では、self.parserにセットされている SEATML_Parserのインスタンス(eSEATの初期化時に生成されています)のload()メソッドをコールしています。
loadメソッドでは、次のような処理を順に行います。
- loggerのセット
- seatmlのベースディレクトリ(self.seatml_base_dir)を引数で与えられたseatmlのファイルがあるディレクトリにセット
- lxml.etree.parseをコールし、seatml.xsdに定義されたスキーマに従ってseatmlファイルの構文解析を行いElementTreeを取得し、その結果をdocという局所変数にセット
- generalタグの解釈
- 各種ポートの生成
- 初期化スクリプトの実行
- onExecuteで実行するコード定義を登録
- stateタグの解釈
- stateの生成とルールの定義
- stateの遷移時に実行する振舞いの定義を登録
- onExecuteで実行するコード定義を登録
- self.parent.initStartState("start")をコール。self.parantは、eSEATコンポーネントがセットされています。