123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?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 data module for SCXML
- * datamodel
- * data
- * assign
- * param
- * script
- * content
- The data module defines these elements and their
- attributes.
- </xsd:documentation>
- <xsd:documentation source="scxml-copyright.xsd"/>
- </xsd:annotation>
- <xsd:include schemaLocation="scxml-datatypes.xsd">
- <xsd:annotation>
- <xsd:documentation>
- This module defines SCXML Attribute DataTypes
- </xsd:documentation>
- </xsd:annotation>
- </xsd:include>
- <xsd:include schemaLocation="scxml-attribs.xsd">
- <xsd:annotation>
- <xsd:documentation>
- This module defines Common attributes for SCXML
- </xsd:documentation>
- </xsd:annotation>
- </xsd:include>
- <xsd:include schemaLocation="scxml-contentmodels.xsd">
- <xsd:annotation>
- <xsd:documentation>
- This module defines Common content model extensions for SCXML
- </xsd:documentation>
- </xsd:annotation>
- </xsd:include>
- <!-- datamodel -->
- <xsd:attributeGroup name="scxml.datamodel.attlist">
- <xsd:attributeGroup ref="scxml.extra.attribs"/>
- </xsd:attributeGroup>
- <xsd:group name="scxml.datamodel.content">
- <xsd:sequence>
- <xsd:element ref="data" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:group ref="scxml.extra.content" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:complexType name="scxml.datamodel.type">
- <xsd:group ref="scxml.datamodel.content"/>
- <xsd:attributeGroup ref="scxml.datamodel.attlist"/>
- </xsd:complexType>
- <xsd:element name="datamodel" type="scxml.datamodel.type"/>
- <!-- data -->
- <xsd:attributeGroup name="scxml.data.attlist">
- <xsd:attribute name="id" type="xsd:ID" use="required"/>
- <xsd:attribute name="src" type="URI.datatype"/>
- <xsd:attribute name="expr" type="ValueLang.datatype"/>
- <xsd:attributeGroup ref="scxml.extra.attribs"/>
- </xsd:attributeGroup>
- <xsd:group name="scxml.data.content">
- <xsd:sequence>
- <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:complexType name="scxml.data.type" mixed="true">
- <xsd:group ref="scxml.data.content"/>
- <xsd:attributeGroup ref="scxml.data.attlist"/>
- <xsd:assert test="not(@src and @expr)" xpathDefaultNamespace="##targetNamespace"/>
- <xsd:assert test="if(@src or @expr) then (not(text() | *)) else true()" xpathDefaultNamespace="##targetNamespace"/>
- </xsd:complexType>
- <xsd:element name="data" type="scxml.data.type"/>
-
- <!-- param -->
- <xsd:attributeGroup name="scxml.param.attlist">
- <xsd:attribute name="name" type="xsd:NMTOKEN" use="required"/>
- <xsd:attribute name="expr" type="ValueLang.datatype"/>
- <xsd:attribute name="location" type="LocLang.datatype"/>
- <xsd:attributeGroup ref="scxml.extra.attribs"/>
- </xsd:attributeGroup>
- <xsd:group name="scxml.param.content">
- <xsd:sequence>
- <xsd:group ref="scxml.extra.content" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:complexType name="scxml.param.type">
- <xsd:group ref="scxml.param.content"/>
- <xsd:attributeGroup ref="scxml.param.attlist"/>
- <xsd:assert test="(@expr or @location) and not(@expr and @location)" xpathDefaultNamespace="##targetNamespace"/>
- </xsd:complexType>
- <xsd:element name="param" type="scxml.param.type"/>
- <!-- assign -->
- <xsd:attributeGroup name="scxml.assign.attlist">
- <xsd:attribute name="location" type="LocLang.datatype" use="required"/>
- <xsd:attribute name="expr" type="ValueLang.datatype"/>
- <xsd:attribute name="type" type="AssignType.datatype" default="replacechildren"/>
- <xsd:attribute name="attr" type="xsd:NMTOKEN"/>
- <xsd:attributeGroup ref="scxml.extra.attribs"/>
- </xsd:attributeGroup>
- <xsd:group name="scxml.assign.content">
- <xsd:sequence>
- <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:complexType name="scxml.assign.type" mixed="true">
- <xsd:group ref="scxml.assign.content"/>
- <xsd:attributeGroup ref="scxml.assign.attlist"/>
- <xsd:assert test="(@expr or text() or *)" xpathDefaultNamespace="##targetNamespace"/>
- <xsd:assert test="not(@expr and (text() | *))" xpathDefaultNamespace="##targetNamespace"/>
- </xsd:complexType>
- <xsd:element name="assign" type="scxml.assign.type"/>
-
- <!-- script -->
- <xsd:attributeGroup name="scxml.script.attlist">
- <xsd:attribute name="src" type="URI.datatype"/>
- <xsd:attributeGroup ref="scxml.extra.attribs"/>
- </xsd:attributeGroup>
- <xsd:group name="scxml.script.content">
- <xsd:sequence>
- <xsd:group ref="scxml.extra.content" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:complexType name="scxml.script.type" mixed="true">
- <xsd:group ref="scxml.script.content"/>
- <xsd:attributeGroup ref="scxml.script.attlist"/>
- </xsd:complexType>
- <xsd:element name="script" type="scxml.script.type"/>
- <!-- content -->
- <xsd:attributeGroup name="scxml.content.attlist">
- <xsd:attributeGroup ref="scxml.extra.attribs"/>
- <xsd:attribute name="expr" type="ValueLang.datatype"/>
- </xsd:attributeGroup>
- <xsd:group name="scxml.content.content">
- <xsd:sequence>
- <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:group>
- <xsd:complexType name="scxml.content.type" mixed="true">
- <xsd:group ref="scxml.content.content"/>
- <xsd:attributeGroup ref="scxml.content.attlist"/>
- <xsd:assert test="not(@expr and (text() or *))" xpathDefaultNamespace="##targetNamespace"/>
- </xsd:complexType>
- <xsd:element name="content" type="scxml.content.type"/>
-
- </xsd:schema>
|