SCXML : State Chart XML

Parser

Introduction

La classe SCXMLParser permet de transformer un fichier SCXML en objet SCXML. De ce fait, il est exploitable par la machine d'état.

Principe d'utilisation

Il faut utiliser la méthode statique parse de la classe SCXMLParser. Cette méthode prend en paramètre le chemin vers le fichier SCXML. Elle prend aussi en paramètre un ErrorHandler qui permet de gérer les erreurs lors de l'interprétation de ce fichier. Apache met à notre disposition une implémentation de cette interface : SimpleErrorHandler. Cette classe renvoie sur la sortie d'erreur les messages éventuels lors du parsing du fichier.

Si le parsing s'est bien passé, la méthode renverra un objet SCXML, objet Java représentant le diagramme d'état, qui pourra être utiliser par la machine d'états Apache (engine).

Pour plus d'informations sur cette classe, je vous invite à lire sa javadoc ou à consulter le site officiel d'Apache disponible dans la rubrique des liens.

Code

			//import java.io.IOException;
			//import java.net.URL;
			//import org.apache.commons.scxml.io.SCXMLParser;
			//import org.apache.commons.scxml.model.ModelException;
			//import org.apache.commons.scxml.model.SCXML;
			//import org.xml.sax.ErrorHandler;
			//import org.xml.sax.SAXException;

			SCXML scxml = null;

			try {
			  scxml = SCXMLParser.parse(<URL>, <ErrorHandler>);
			} catch (IOException ioe) {
			  // IOException while parsing
			} catch (SAXException se) {
			  // SAXException while parsing
			} catch (ModelException me) {
			  // ModelException while parsing
			}
			  

			if (scxml == null) {
			  // Parsing failed
			}