<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:beans="http://www.springframework.org/schema/beans"
+ xmlns:flow="http://www.argeo.org/schema/slc-flow" xmlns:beans="http://www.springframework.org/schema/beans"
targetNamespace="http://www.argeo.org/schema/slc-flow"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://www.springframework.org/schema/beans" />
-
<xsd:element name="flow">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="beans:identifiedType">
<xsd:sequence>
- <xsd:any minOccurs="1" maxOccurs="unbounded" />
+ <xsd:sequence>
+ <xsd:element name="arg" minOccurs="0" maxOccurs="unbounded"
+ type="flow:argType" />
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="beans:bean" />
+ <xsd:element ref="beans:ref" />
+ </xsd:choice>
+ <!--
+ <xsd:any namespace="##other" processContents="strict"
+ minOccurs="0" maxOccurs="unbounded" />
+ -->
+ </xsd:sequence>
</xsd:sequence>
<xsd:attribute name="path" type="xsd:string" />
+ <xsd:attribute name="spec" type="xsd:string" />
+ <xsd:attribute name="parent" type="xsd:string" />
+ <xsd:attribute name="abstract" type="xsd:boolean"
+ default="false" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="spec">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="beans:identifiedType">
+ <xsd:sequence>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="primitive" type="flow:primitiveSpecAttributeType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="ref" type="flow:refSpecAttributeType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:choice>
+ </xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
+ <xsd:complexType name="specAttributeType">
+ <xsd:choice>
+ <xsd:element name="value" minOccurs="0" maxOccurs="1">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:any minOccurs="1" maxOccurs="1" />
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="value" use="optional" type="xsd:string" />
+ <xsd:attribute name="value-ref" use="optional" type="xsd:string" />
+ <xsd:attribute name="isParameter" use="optional" type="xsd:boolean"
+ default="false" />
+ <xsd:attribute name="isFrozen" use="optional" type="xsd:boolean"
+ default="false" />
+ <xsd:attribute name="isHidden" use="optional" type="xsd:boolean"
+ default="false" />
+ </xsd:complexType>
+
+ <xsd:complexType name="primitiveSpecAttributeType">
+ <xsd:complexContent>
+ <xsd:extension base="flow:specAttributeType">
+ <xsd:attribute name="type" default="string">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="string" />
+ <xsd:enumeration value="integer" />
+ <xsd:enumeration value="long" />
+ <xsd:enumeration value="float" />
+ <xsd:enumeration value="double" />
+ <xsd:enumeration value="boolean" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="refSpecAttributeType">
+ <xsd:complexContent>
+ <xsd:extension base="flow:specAttributeType">
+ <xsd:choice>
+ <xsd:element name="choices" minOccurs="0" maxOccurs="1">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element name="choice" minOccurs="0" maxOccurs="unbounded"
+ type="flow:refChoiceType" />
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="targetClass" use="required" type="xsd:string" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="refChoiceType">
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="description" use="optional" type="xsd:string" />
+ </xsd:complexType>
+
+ <xsd:complexType name="argType">
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="value" type="xsd:string" />
+ <xsd:attribute name="ref" type="xsd:string" />
+ </xsd:complexType>
+
<xsd:attribute name="as-flow" type="xsd:string" />
</xsd:schema>
\ No newline at end of file