⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jpdl-3.0.xsd

📁 workflow first jbpm
💻 XSD
📖 第 1 页 / 共 3 页
字号:
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Jim Rigsbee (private) -->
<xs:schema targetNamespace="http://jbpm.org/3/jpdl" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.0" xmlns="http://jbpm.org/3/jpdl" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="process-definition" type="process-definition-v3.0">
		<xs:annotation>
			<xs:documentation>jBPM Process Definition Language (JPDL) version 3.0 </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:simpleType name="configType">
		<xs:annotation>
			<xs:documentation>Indicates how to use the metadata within a handler</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="field"/>
			<xs:enumeration value="bean"/>
			<xs:enumeration value="constructor"/>
			<xs:enumeration value="configuration-property"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="duedateType">
		<xs:annotation>
			<xs:documentation>Expression that indicates when a timer is due to fire</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="\p{N}+([ ]+business)?[ ]+((second)|(seconds)|(minute)|(minutes)|(hour)|(hours)|(day)|(days)|(week)|(weeks)|(month)|(months)|(year)|(years))([ ]+(and)[ ]+\p{N}+([ ]+business)?[ ]+((second)|(seconds)|(minute)|(minutes)|(hour)|(hours)|(day)|(days)|(week)|(weeks)|(month)|(months)|(year)|(years)))*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="booleanType">
		<xs:annotation>
			<xs:documentation>Yes, no, true, false, on, and off</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="yes"/>
			<xs:enumeration value="no"/>
			<xs:enumeration value="true"/>
			<xs:enumeration value="false"/>
			<xs:enumeration value="on"/>
			<xs:enumeration value="off"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="accessType">
		<xs:annotation>
			<xs:documentation>Defines how a variable may be accessed</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="read"/>
			<xs:enumeration value="read,required"/>
			<xs:enumeration value="read,write"/>
			<xs:enumeration value="read,write,required"/>
			<xs:enumeration value="write"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="repeatType">
		<xs:annotation>
			<xs:documentation>Defines if and when to repeat a timer</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="duedateType booleanType"/>
	</xs:simpleType>
	<xs:element name="action">
		<xs:annotation>
			<xs:documentation>Defines custom behavior</xs:documentation>
		</xs:annotation>
		<xs:complexType mixed="true">
			<xs:sequence>
				<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>The name of the action.  When actions are given names, they can be looked up from the process definition.  This can be useful for runtime actions and declaring actions only once.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="class" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Either a class or ref-name must be specified.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="ref-name" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Either a class or ref-name must be specified.  The content of this action is not processed if a referenced action is specified.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="accept-propagated-events" type="booleanType" use="optional" default="true">
				<xs:annotation>
					<xs:documentation>If set to false, the action will only be executed on events that were fired on this action's element.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="config-type" type="configType" use="optional">
				<xs:annotation>
					<xs:documentation>Specifies how the action object should be constructed and how the content of this element should be used as configuration information for the action object.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="assignment">
		<xs:annotation>
			<xs:documentation>Controls the behavior of assigning a task to an identity.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>The content of the assignment element can be used as configuration information for your custom assignment handler implementations.  This allows the creation of reusable delegation classes.</xs:documentation>
					</xs:annotation>
				</xs:any>
			</xs:sequence>
			<xs:attribute name="class" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>The fully qualified class name of an implementation of org.jbpm.taskmgmt.def.AssignmentHandler.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="config-type" type="configType" use="optional">
				<xs:annotation>
					<xs:documentation>Specifies how the assignment handler object should be constructed and how the content of this element should be used as configuration information for that object.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="expression" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="cancel-timer">
		<xs:annotation>
			<xs:documentation>Cancels a timer previously set with create-timer</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:attribute name="name" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>The name of the timer to be cancelled.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="create-timer">
		<xs:annotation>
			<xs:documentation>See documentation for the timer element.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice>
				<xs:element ref="action"/>
				<xs:element ref="script"/>
			</xs:choice>
			<xs:attribute name="name" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>The name of the timer.  This name can be used later in a cancel-timer element.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="duedate" type="duedateType" use="required">
				<xs:annotation>
					<xs:documentation>The duration that specifies the time period between the creation of the timer and the execution of the timer.  This can be expressed in business hours, minutes, etc.  See the documentation for syntax for this attribute.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="repeat" type="repeatType" use="optional">
				<xs:annotation>
					<xs:documentation>yes, true, or duration.  After a timer has been executed on the duedate, this repeat attribute specifies the duration between repeating timer executions until the node is left.  If yes or true are specified then the value of duedate is used.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="transition" type="xs:string" use="optional"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="decision">
		<xs:annotation>
			<xs:documentation>Defines a decision to be made in the processing path</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:annotation>
					<xs:documentation>Either a handler or transitions with conditions should be specified.   The decision will look for the first transition for which the condition evaluates to true.  A transition without a condition is considered to evaluate to true (to model the 'otherwise' branch.  See the condition element.</xs:documentation>
				</xs:annotation>
				<xs:element name="handler" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>The content of the handler element can be used as configuration information for your custom decision handler implementations.  This allows the creation of reusable delegation classes.</xs:documentation>
								</xs:annotation>
							</xs:any>
						</xs:sequence>
						<xs:attribute name="class" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>The fully qualified class name of an implementation of org.jbpm.graph.node.DecisionHandler.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="config-type" type="configType" use="optional">
							<xs:annotation>
								<xs:documentation>Specifies how the decision handler object should be constructed and how the content of this element should be used as configuration information for that object.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element name="transition" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="condition" minOccurs="0">
								<xs:annotation>
									<xs:documentation>A beanshell script that evaluates to true or false.</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:element ref="action" minOccurs="0" maxOccurs="unbounded"/>
								<xs:element ref="script" minOccurs="0" maxOccurs="unbounded"/>
								<xs:element ref="create-timer" minOccurs="0" maxOccurs="unbounded"/>
								<xs:element ref="cancel-timer" minOccurs="0" maxOccurs="unbounded"/>
							</xs:choice>
							<xs:element ref="exception-handler" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
						<xs:attribute name="name" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>The name of the transition.  Note that each transition leaving a node must have a distinct name.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
						<xs:attribute name="to" type="xs:string" use="required">
							<xs:annotation>
								<xs:documentation>The hierarchical name of the destination node.  See documentation for an description of hierarchical names.</xs:documentation>
							</xs:annotation>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element ref="event" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="timer" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="exception-handler" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="end-state">
		<xs:annotation>
			<xs:documentation>Marks the end of a processing path.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="event" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Event types supported:  node-enter, before-signal</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:choice minOccurs="0" maxOccurs="unbounded">
							<xs:element ref="action"/>
							<xs:element ref="script"/>
							<xs:element ref="create-timer"/>
							<xs:element ref="cancel-timer"/>
						</xs:choice>
						<xs:attribute name="type" use="required">
							<xs:simpleType>
								<xs:restriction base="xs:string">
									<xs:enumeration value="node-enter"/>
									<xs:enumeration value="before-signal"/>
								</xs:restriction>
							</xs:simpleType>
						</xs:attribute>
					</xs:complexType>
				</xs:element>
				<xs:element ref="exception-handler" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="name" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="event">
		<xs:annotation>
			<xs:documentation>Supported event types: node-enter, node-leave, before-signal, after-signal.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="action"/>
				<xs:element ref="script"/>
				<xs:element ref="create-timer"/>
				<xs:element ref="cancel-timer"/>
			</xs:choice>
			<xs:attribute name="type" use="required">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="node-enter"/>
						<xs:enumeration value="node-leave"/>
						<xs:enumeration value="before-signal"/>
						<xs:enumeration value="after-signal"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:element name="exception-handler">
		<xs:annotation>
			<xs:documentation>A list of exception handlers that applies to all exceptions thrown by delegation classes within this node.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">
				<xs:element ref="action"/>
				<xs:element ref="script"/>
			</xs:choice>
			<xs:attribute name="exception-class" type="xs:string" use="optional">
				<xs:annotation>
					<xs:documentation>Specifies the fully qualified class name of the java throwable class that should match this exception handler.  If this attribute is not specified it matches all exceptions derived from java.lang.Throwable.</xs:documentation>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -