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

推荐订阅源

量子位
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Fortinet All Blogs
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
小众软件
小众软件
有赞技术团队
有赞技术团队
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
AWS News Blog
AWS News Blog
C
Cisco Blogs
美团技术团队
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
W
WeLiveSecurity
D
DataBreaches.Net
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Vercel News
Vercel News
月光博客
月光博客
T
Tailwind CSS Blog
H
Help Net Security
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Spread Privacy
Spread Privacy
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
WordPress大学
WordPress大学
Cyberwarzone
Cyberwarzone
Recent Announcements
Recent Announcements

博客园 - 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>