SCXMLコンプライアンス
サポートするデータモデル
Qt SCXML は以下のデータモデルをサポートしています:
- null データモデル。SCXML 仕様書 - B.1 Null データモデルに記述されています。
- SCXML Specification - B.2 The ECMAScript Data Modelに記述されている ECMAScript データモデル。
- QScxmlCppDataModel ドキュメントに記述されている C++ データモデル
サポートされる要素と属性
Qt SCXML の実装は、いくつかの例外を除いて SCXML に準拠しています:
- イベントデータ (
_event.data
) はQVariant として実装されます。パラメータが<send>
に渡される場合、QVariant はQVariantMap を保持するので、同じ名前の複数のパラメータはサポートされません。 - イベントの「生の」表現はない。
- (オプションの)基本的な http イベント I/O プロセッサーはサポー トされていない。
<script>
タグと<data>
タグの内容は、選択されたデータモデルで有効でなければな らない。つまり、例として<data>内のXMLコンテンツはサポートされません。しかし、ECMAScriptデータモデルはJSON形式のデータをサポートする。<invoke>
でインスタンス化できる唯一のサービスは別の SCXML ステートマシンです。- 動的に作成されたステートマシンとコンパイルされたステートマシンの動作を同じに保つために、typeexpr属性とsrcexpr属性はサポートされていません。さらに、
<content>
タグが<invoke>
タグの内部で使用されている場合、その内容は XML でなければなりません。特に、ECMAScript データモデルと文字列を連結するなどして SCXML を動的に作成することはサポートされていません。
Qt SCXML の拡張
Qt SCXML の実装では、SCXML を以下のように拡張しています:
- イベントがエラーイベントの場合、
_event.errorMessage
はエラーの詳細な説明を含みます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。