Sur cette page

Conformité SCXML

Modèles de données pris en charge

Qt SCXML SCXML prend en charge les modèles de données suivants :

Éléments et attributs pris en charge

La mise en œuvre de Qt SCXML est conforme à SCXML, à quelques exceptions près :

  • Les données d'événement (_event.data) sont implémentées sous la forme d'un QVariant. Si des paramètres sont transmis à <send>, le QVariant contient un QVariantMap, de sorte que les paramètres multiples portant le même nom ne sont pas pris en charge.
  • Il n'existe pas de représentation "brute" d'un événement.
  • Le processeur d'E/S d'événement http de base (facultatif) n'est pas pris en charge.
  • Le contenu d'une balise <script> et d'une balise <data> doit être valide pour le modèle de données choisi. Ainsi, à titre d'exemple, le contenu XML à l'intérieur de <data> est valide pour le modèle de données choisi : Le contenu XML à l'intérieur de <data> n'est pas pris en charge. Toutefois, le modèle de données ECMAScript prend en charge les données au format JSON.
  • Le seul service qui peut être instancié avec <invoke> est une autre machine d'état SCXML.
  • Pour que le comportement des machines d'état créées dynamiquement et des machines d'état compilées reste identique, les attributs typeexpr et srcexpr ne sont pas pris en charge. En outre, si une balise <content> est utilisée à l'intérieur d'une balise <invoke>, ce contenu doit être XML. Plus précisément, la création dynamique de SCXML, par exemple en concaténant des chaînes avec le modèle de données ECMAScript, n'est pas prise en charge.

Qt SCXML Extensions

L'implémentation de Qt SCXML étend SCXML de la manière suivante :

  • Si l'événement est un événement d'erreur, _event.errorMessage contiendra une description plus détaillée de l'erreur.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.