summaryrefslogtreecommitdiffstats
path: root/test/w3c/schema/scxml-profile-ecma.xsd
diff options
context:
space:
mode:
Diffstat (limited to 'test/w3c/schema/scxml-profile-ecma.xsd')
-rw-r--r--test/w3c/schema/scxml-profile-ecma.xsd159
1 files changed, 159 insertions, 0 deletions
diff --git a/test/w3c/schema/scxml-profile-ecma.xsd b/test/w3c/schema/scxml-profile-ecma.xsd
new file mode 100644
index 0000000..852b1a2
--- /dev/null
+++ b/test/w3c/schema/scxml-profile-ecma.xsd
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/2005/07/scxml"
+ xmlns="http://www.w3.org/2005/07/scxml"
+ elementFormDefault="qualified">
+ <xsd:annotation>
+ <xsd:documentation>
+ This is the XML Schema driver for SCXML 1.0, ecmascript profile.
+ Please use this namespace for SCXML 1.0 elements:
+
+ "http://www.w3.org/2005/07/scxml"
+ </xsd:documentation>
+ <xsd:documentation source="scxml-copyright.xsd"/>
+ </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+ This schema
+ + sets the namespace for SCXML 1.0 basic ecmascript profile
+ + imports external schemas (xml.xsd)
+ + includes SCXML common datatypes, attributes and content models
+ + includes schema modules
+ SCXML 1.0 includes the following Modules
+ SCXML core module
+ SCXML data module
+ SCXML script module
+ SCXML external module
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This import brings in the XML namespace attributes
+ The XML attributes are used by various modules.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:import>
+ <xsd:include schemaLocation="scxml-datatypes.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This includes brings in the common data types for SCXML
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:include>
+ <xsd:include schemaLocation="scxml-attribs.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This includes brings in the common attributes for SCXML
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:include>
+ <xsd:include schemaLocation="scxml-module-data.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This includes the data module for SCXML
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:include>
+ <xsd:include schemaLocation="scxml-module-script.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This includes the script module for SCXML
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:include>
+ <xsd:redefine schemaLocation="scxml-module-external.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This imports the external module for SCXML and redefines the following.
+ [1] Redefines send and invoke mix group to allow
+ param
+ [2] Redefines finalize mix group to allow:
+ executable content
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:group name="scxml.send.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.send.mix"/>
+ <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.invoke.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.invoke.mix"/>
+ <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.finalize.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.finalize.mix"/>
+ <xsd:group ref="scxml.core.executablecontent"/>
+ </xsd:choice>
+ </xsd:group>
+ </xsd:redefine>
+ <xsd:include schemaLocation="scxml-contentmodels.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This includes the common content models.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:include>
+ <xsd:redefine schemaLocation="scxml-module-core.xsd">
+ <xsd:annotation>
+ <xsd:documentation>
+ This imports the core module for SCXML and redefines the following.
+ [1] Redefines executable content to allow
+ send, assign, validate, cancel and script elements
+ [2] Redefines state and parallel mix group to allow
+ invoke
+ datamodel
+ [3] Redefines scxml group to allow
+ datamodel
+ script
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:group name="scxml.core.executablecontent">
+ <xsd:choice>
+ <xsd:group ref="scxml.core.executablecontent"/>
+ <xsd:element ref="send"/>
+ <xsd:element ref="assign"/>
+ <xsd:element ref="script"/>
+ <xsd:element ref="validate"/>
+ <xsd:element ref="cancel"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.scxml.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.scxml.mix"/>
+ <xsd:element ref="datamodel" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="script" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.state.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.state.mix"/>
+ <xsd:element ref="datamodel" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="invoke" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.parallel.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.parallel.mix"/>
+ <xsd:element ref="datamodel" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="invoke" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.donedata.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.donedata.mix"/>
+ <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ <xsd:group name="scxml.raise.mix">
+ <xsd:choice>
+ <xsd:group ref="scxml.raise.mix"/>
+ <xsd:element ref="param" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:choice>
+ </xsd:group>
+ </xsd:redefine>
+</xsd:schema>