Spec-Zone.ru › Qt

Соответствие SCXML

Поддерживаемые модели данных

Qt SCXML поддерживает следующие модели данных:

  • Модель данных null, как описано в Спецификации SCXML — B.1 Модель данных null
  • Модель данных ECMAScript, как описано в Спецификации SCXML — B.2 Модель данных ECMAScript
  • Модель данных C++, как описано в документации QScxmlCppDataModel

Поддерживаемые элементы и атрибуты

Реализация Qt SCXML соответствует SCXML, за исключением следующих пунктов:

  • Данные события (_event.data) реализованы как QVariant. Если параметры передаются в <send>, QVariant содержит QVariantMap, поэтому несколько параметров с одинаковым именем не поддерживаются.
  • Нет «сырого» представления события.
  • Не поддерживается (необязательный) базовый процессор ввода/вывода событий http.
  • Содержимое тега <script> и тега <data> должно быть валидным для выбранной модели данных. Например, содержимое XML внутри <data> не поддерживается. Однако модель данных ECMAScript поддерживает данные в формате JSON.
  • Единственная служба, которую можно создать с помощью <invoke>, — это другая машина состояний SCXML.
  • Для сохранения поведения динамически созданных машин состояний и скомпилированных машин состояний атрибуты typeexpr и srcexpr не поддерживаются. Кроме того, если тег <content> используется внутри тега <invoke>, это содержимое должно быть XML. В частности, динамическое создание SCXML, например, путём конкатенации строк с моделью данных ECMAScript, не поддерживается.

Расширения Qt SCXML

Реализация Qt SCXML расширяет SCXML следующим образом:

  • Если событие является событием об ошибке, _event.errorMessage будет содержать более подробное описание ошибки.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtscxml-scxml-compliance.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API