惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Vercel News
Vercel News
F
Fortinet All Blogs
月光博客
月光博客
G
Google Developers Blog
博客园 - Franky
GbyAI
GbyAI
The Cloudflare Blog
I
InfoQ
雷峰网
雷峰网
WordPress大学
WordPress大学
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
小众软件
小众软件
腾讯CDC
B
Blog
量子位
V
V2EX
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News

博客园 - lzlynn

COMET彗星(四)COMET线程控制 Mule esb简介(觉得这篇文章不错,摘过来给大家看看。) COMET彗星(三)构建自己的COMET核心 COMET彗星(二)基于SERVER PUSH的消息传输 COMET彗星(一)SERVER PUSH介绍 Arcgis flex desktop (v0.1) 未完待续 SDE_GEODATABASE学习 初识ArcObjects 转载:北京好吃又便宜的地方 关于空间拓扑(lynn的自语) openlayers基类类图 flex介绍(摘自csdn) div不能放在applet上的解决方案(iframe) 对ie不支持getElementsByName的解决办法 测试计划(模板) openlayers加载gml(转载) 转载 一个服务器启动多个tomcat BPM简介 AXIS
EPML schema(附带用myeclipse生成的结构图)
lzlynn · 2008-09-09 · via 博客园 - lzlynn

源代码:

<?xml version="1.0" encoding="UTF-8" ?>

- <xs:schema xmlns="http://www.epml.de" xmlns:epml="http://www.epml.de" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.epml.de" elementFormDefault="unqualified" attributeFormDefault="unqualified">

  <xs:element name="empty" />

- <xs:element name="multiple">

- <xs:complexType>

  <xs:attribute name="minimum" type="xs:integer" />

  <xs:attribute name="maximum" type="xs:integer" />

  <xs:attribute name="required" type="xs:integer" />

- <xs:attribute name="creation">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="static" />

  <xs:enumeration value="dynamic" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

- <xs:element name="cancel">

- <xs:complexType>

  <xs:attribute name="id" type="xs:integer" use="optional" />

  <xs:attribute name="epcId" type="xs:integer" use="optional" />

  </xs:complexType>

  </xs:element>

- <xs:complexType name="tExtensibleElements">

- <xs:sequence>

  <xs:element name="documentation" type="xs:anyType" minOccurs="0" />

  <xs:element name="toolInfo" type="xs:anyType" minOccurs="0" />

  </xs:sequence>

  <xs:anyAttribute namespace="##other" processContents="lax" />

  </xs:complexType>

- <xs:complexType name="tExtensibleWithAttributes">

- <xs:sequence>

  <xs:element name="documentation" type="xs:anyType" minOccurs="0" />

  <xs:element name="toolInfo" type="xs:anyType" minOccurs="0" />

  </xs:sequence>

  <xs:anyAttribute namespace="##other" processContents="lax" />

  </xs:complexType>

- <xs:complexType name="tEpcElement">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:sequence>

  <xs:element name="name" type="xs:string" minOccurs="0" />

  <xs:element name="description" type="xs:string" minOccurs="0" />

- <xs:choice minOccurs="0">

  <xs:element name="graphics" type="epml:typeGraphics" />

  </xs:choice>

  <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />

  </xs:sequence>

  <xs:attribute name="id" type="xs:positiveInteger" use="required" />

  <xs:attribute name="defRef" type="xs:string" use="optional" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:element name="epml" type="epml:typeEPML">

- <xs:unique name="typeId">

  <xs:selector xpath=".//*" />

  <xs:field xpath="@typeId" />

  </xs:unique>

- <xs:keyref name="typeRef" refer="typeId">

  <xs:selector xpath=".//*" />

  <xs:field xpath="@typeRef" />

  </xs:keyref>

- <xs:unique name="defId">

  <xs:selector xpath=".//*" />

  <xs:field xpath="@defId" />

  </xs:unique>

- <xs:keyref name="defRef" refer="defId">

  <xs:selector xpath=".//epc/*" />

  <xs:field xpath="@defRef" />

  </xs:keyref>

  </xs:element>

- <xs:complexType name="typeEPML">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:sequence>

  <xs:element name="graphicsDefault" type="epml:typeGraphicsDefault" minOccurs="0" />

  <xs:element name="coordinates" type="epml:typeCoordinates" />

  <xs:element name="definitions" type="epml:typeDefinitions" minOccurs="0" />

  <xs:element name="attributeTypes" type="epml:typeAttrTypes" minOccurs="0" maxOccurs="unbounded" />

- <xs:element name="directory" type="epml:typeDirectory" maxOccurs="unbounded">

- <xs:unique name="epcId">

  <xs:selector xpath=".//*" />

  <xs:field xpath="@epcId" />

  </xs:unique>

- <xs:keyref name="linkToEpcId" refer="epcId">

  <xs:selector xpath=".//toProcess" />

  <xs:field xpath="@linkToEpcId" />

  </xs:keyref>

  </xs:element>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeGraphicsDefault">

- <xs:sequence>

  <xs:element name="fill" type="epml:typeFill" minOccurs="0" />

  <xs:element name="line" type="epml:typeLine" minOccurs="0" />

  <xs:element name="font" type="epml:typeFont" minOccurs="0" />

  </xs:sequence>

  </xs:complexType>

- <xs:complexType name="typeCoordinates">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:attribute name="xOrigin" use="required">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="leftToRight" />

  <xs:enumeration value="rightToLeft" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

- <xs:attribute name="yOrigin" use="required">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="topToBottom" />

  <xs:enumeration value="bottomToTop" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeDefinitions">

- <xs:sequence>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="definition" type="epml:typeDefinition" />

  </xs:choice>

  </xs:sequence>

  </xs:complexType>

- <xs:complexType name="typeDefinition">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:sequence>

  <xs:element name="name" type="xs:string" minOccurs="0" />

  <xs:element name="description" type="xs:string" minOccurs="0" />

  </xs:sequence>

  <xs:attribute name="defId" type="xs:string" use="required" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeAttrTypes">

- <xs:sequence>

- <xs:sequence minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attributeType" type="epml:typeAttrType" />

  </xs:sequence>

  </xs:sequence>

  </xs:complexType>

- <xs:complexType name="typeAttrType">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:sequence>

  <xs:element name="description" type="xs:string" minOccurs="0" />

  </xs:sequence>

  <xs:attribute name="typeId" type="xs:string" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeDirectory">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleWithAttributes">

- <xs:sequence>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

- <xs:element name="epc" type="epml:typeEPC">

- <xs:unique name="id">

  <xs:selector xpath="./*" />

  </xs:unique>

- <xs:unique name="sourceId_targetId">

  <xs:selector xpath="arc" />

  <xs:field xpath="@sourceId" />

  <xs:field xpath="@targetId" />

  </xs:unique>

- <xs:keyref name="sourceId" refer="id">

  <xs:selector xpath=".//flow" />

  <xs:field xpath="@source" />

  </xs:keyref>

- <xs:keyref name="targetId" refer="id">

  <xs:selector xpath=".//flow" />

  <xs:field xpath="@target" />

  </xs:keyref>

- <xs:keyref name="fromId" refer="id">

  <xs:selector xpath="relation" />

  <xs:field xpath="@from" />

  </xs:keyref>

- <xs:keyref name="toId" refer="id">

  <xs:selector xpath="relation" />

  </xs:keyref>

- <xs:keyref name="cancelId" refer="id">

  <xs:selector xpath=".//cancel" />

  </xs:keyref>

- <xs:keyref name="cancelEpcId" refer="epcId">

  <xs:selector xpath=".//cancel" />

  <xs:field xpath="@epcId" />

  </xs:keyref>

  </xs:element>

  <xs:element name="directory" type="epml:typeDirectory" />

  </xs:choice>

  </xs:sequence>

  <xs:attribute name="name" type="xs:string" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeEPC">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleWithAttributes">

- <xs:sequence>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="configurationRequirement" type="epml:typeCReq" />

  <xs:element name="configurationGuideline" type="epml:typeCReq" />

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="event" type="epml:typeEvent" minOccurs="0" />

  <xs:element name="function" type="epml:typeFunction" minOccurs="0" />

  <xs:element name="processInterface" type="epml:typeProcessInterface" minOccurs="0" />

  <xs:element name="and" type="epml:typeAND" minOccurs="0" />

  <xs:element name="or" type="epml:typeOR" minOccurs="0" />

  <xs:element name="xor" type="epml:typeXOR" minOccurs="0" />

  <xs:element name="arc" type="epml:typeArc" minOccurs="0" />

  <xs:element name="application" type="epml:typeEEPC" minOccurs="0" />

  <xs:element name="participant" type="epml:typeEEPC" minOccurs="0" />

  <xs:element name="dataField" type="epml:typeEEPC" minOccurs="0" />

  <xs:element name="relation" type="epml:typeRelation" minOccurs="0" />

  <xs:element name="empty" type="epml:typeEmpty" minOccurs="0" />

  <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />

  </xs:choice>

  </xs:sequence>

  <xs:attribute name="epcId" type="xs:positiveInteger" use="required" />

  <xs:attribute name="name" type="xs:string" use="required" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeCReq">

- <xs:sequence>

- <xs:element name="if">

- <xs:complexType>

  <xs:attribute name="xpath" type="xs:string" />

  </xs:complexType>

  </xs:element>

- <xs:element name="then" maxOccurs="unbounded">

- <xs:complexType>

  <xs:attribute name="xpath" type="xs:string" />

  </xs:complexType>

  </xs:element>

  </xs:sequence>

- <xs:attribute name="idRefs">

- <xs:simpleType>

  <xs:list itemType="xs:integer" />

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

- <xs:complexType name="typeEvent">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="innerEvent" />

  <xs:enumeration value="startEvent" />

  <xs:enumeration value="endEvent" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeFunction">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="function" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0">

  <xs:element name="toProcess" type="epml:typeToProcess" />

  </xs:choice>

- <xs:choice minOccurs="0">

  <xs:element name="configurableFunction" type="epml:typeCFunction" />

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeAttribute">

  <xs:attribute name="typeRef" type="xs:string" use="required" />

  <xs:attribute name="value" type="xs:string" />

  </xs:complexType>

- <xs:complexType name="typeToProcess">

  <xs:attribute name="linkToEpcId" type="xs:positiveInteger" use="required" />

  </xs:complexType>

- <xs:complexType name="typeCFunction">

- <xs:choice minOccurs="0">

- <xs:element name="configuration">

- <xs:complexType>

- <xs:attribute name="value" use="optional">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="on" />

  <xs:enumeration value="off" />

  <xs:enumeration value="opt" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

  </xs:complexType>

- <xs:complexType name="typeProcessInterface">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="startProcessInterface" />

  <xs:enumeration value="endProcessInterface" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

  <xs:element name="toProcess" type="epml:typeToProcess" />

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeEmpty">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="emptySplit" />

  <xs:enumeration value="emptyJoin" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeAND">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="andFunctionEventSplit" />

  <xs:enumeration value="andFunctionEventJoin" />

  <xs:enumeration value="andEventFunctionSplit" />

  <xs:enumeration value="andEventFunctionJoin" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0">

  <xs:element name="configurableConnector" type="epml:typeCAnd" />

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeCAnd">

- <xs:choice minOccurs="0">

- <xs:element name="configuration">

- <xs:complexType>

- <xs:attribute name="value" use="optional" default="and">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="and" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

  </xs:complexType>

- <xs:complexType name="typeOR">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="orFunctionEventSplit" />

  <xs:enumeration value="orFunctionEventJoin" />

  <xs:enumeration value="orEventFunctionJoin" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0">

  <xs:element name="configurableConnector" type="epml:typeCOR" />

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeCOR">

- <xs:choice minOccurs="0">

- <xs:element name="configuration">

- <xs:complexType>

- <xs:attribute name="value" use="optional">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="or" />

  <xs:enumeration value="and" />

  <xs:enumeration value="xor" />

  <xs:enumeration value="seq" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  <xs:attribute name="goto" type="xs:integer" />

  </xs:complexType>

  </xs:element>

  </xs:choice>

  </xs:complexType>

- <xs:complexType name="typeXOR">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="xorFunctionEventSplit" />

  <xs:enumeration value="xorFunctionEventJoin" />

  <xs:enumeration value="xorEventFunctionJoin" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0">

  <xs:element name="configurableConnector" type="epml:typeCXOR" />

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeCXOR">

- <xs:choice minOccurs="0">

- <xs:element name="configuration">

- <xs:complexType>

- <xs:attribute name="value" use="optional">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="xor" />

  <xs:enumeration value="seq" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  <xs:attribute name="goto" type="xs:integer" />

  </xs:complexType>

  </xs:element>

  </xs:choice>

  </xs:complexType>

- <xs:complexType name="typeArc">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:sequence>

  <xs:element name="name" type="xs:string" minOccurs="0" />

  <xs:element name="description" type="xs:string" minOccurs="0" />

  <xs:element name="flow" type="epml:typeFlow" minOccurs="0" />

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="graphics" type="epml:typeMove" />

  </xs:choice>

- <xs:choice minOccurs="0">

- <xs:element name="syntaxInfo">

- <xs:complexType>

- <xs:attribute name="implicitType">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="functionEventArc" />

  <xs:enumeration value="eventFunctionArc" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

  </xs:element>

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  <xs:attribute name="id" type="xs:positiveInteger" use="required" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeEEPC">

- <xs:complexContent>

- <xs:extension base="epml:tEpcElement">

- <xs:sequence>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeRelation">

- <xs:complexContent>

- <xs:extension base="epml:tExtensibleElements">

- <xs:sequence>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="graphics" type="epml:typeMove" />

  </xs:choice>

- <xs:choice minOccurs="0" maxOccurs="unbounded">

  <xs:element name="attribute" type="epml:typeAttribute" />

  </xs:choice>

  </xs:sequence>

  <xs:attribute name="id" type="xs:positiveInteger" use="required" />

  <xs:attribute name="defRef" type="xs:string" use="optional" />

  <xs:attribute name="from" type="xs:positiveInteger" />

  <xs:attribute name="to" type="xs:positiveInteger" />

  </xs:extension>

  </xs:complexContent>

  </xs:complexType>

- <xs:complexType name="typeGraphics">

- <xs:sequence>

  <xs:element name="position" type="epml:typePosition" minOccurs="0" />

  <xs:element name="fill" type="epml:typeFill" minOccurs="0" />

  <xs:element name="line" type="epml:typeLine" minOccurs="0" />

  <xs:element name="font" type="epml:typeFont" minOccurs="0" />

  </xs:sequence>

  </xs:complexType>

- <xs:complexType name="typePosition">

  <xs:attribute name="x" type="xs:decimal" />

  <xs:attribute name="y" type="xs:decimal" />

  <xs:attribute name="width" type="xs:decimal" />

  <xs:attribute name="height" type="xs:decimal" />

  </xs:complexType>

- <xs:complexType name="typeFill">

  <xs:attribute name="color" type="xs:string" />

  <xs:attribute name="image" type="xs:anyURI" />

  <xs:attribute name="gradient-color" type="xs:string" />

- <xs:attribute name="gradient-rotation">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="vertical" />

  <xs:enumeration value="horizontal" />

  <xs:enumeration value="diagonal" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

- <xs:complexType name="typeLine">

- <xs:attribute name="shape">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="line" />

  <xs:enumeration value="curve" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  <xs:attribute name="color" type="xs:string" />

  <xs:attribute name="width" type="xs:decimal" />

- <xs:attribute name="style">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="solid" />

  <xs:enumeration value="dash" />

  <xs:enumeration value="dot" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  </xs:complexType>

- <xs:complexType name="typeFont">

  <xs:attribute name="family" type="xs:string" />

  <xs:attribute name="style" type="xs:string" />

  <xs:attribute name="weight" type="xs:string" />

  <xs:attribute name="size" type="xs:positiveInteger" />

- <xs:attribute name="decoration">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="underline" />

  <xs:enumeration value="overline" />

  <xs:enumeration value="line-through" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  <xs:attribute name="color" type="xs:string" />

- <xs:attribute name="verticalAlign">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="top" />

  <xs:enumeration value="middle" />

  <xs:enumeration value="bottom" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

- <xs:attribute name="horizontalAlign">

- <xs:simpleType>

- <xs:restriction base="xs:string">

  <xs:enumeration value="left" />

  <xs:enumeration value="middle" />

  <xs:enumeration value="right" />

  </xs:restriction>

  </xs:simpleType>

  </xs:attribute>

  <xs:attribute name="rotation" type="xs:decimal" />

  </xs:complexType>

- <xs:complexType name="typeMove">

- <xs:sequence>

  <xs:element name="position" type="epml:typeMove2" minOccurs="0" maxOccurs="unbounded" />

  <xs:element name="line" type="epml:typeLine" minOccurs="0" />

  <xs:element name="font" type="epml:typeFont" minOccurs="0" />

  </xs:sequence>

  </xs:complexType>

- <xs:complexType name="typeMove2">

  <xs:attribute name="x" type="xs:decimal" />

  <xs:attribute name="y" type="xs:decimal" />

  </xs:complexType>

- <xs:complexType name="typeFlow">

  <xs:attribute name="source" type="xs:positiveInteger" use="optional" />

  <xs:attribute name="target" type="xs:positiveInteger" use="optional" />

  </xs:complexType>

  </xs:schema>