Spaces:
Running
Running
File size: 6,575 Bytes
8097001 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!-- This file describes the XML serialization of the OCL format for object-centric event log data. -->
<!-- (c) 2020 by Chair of Process and Data Science (http://www.pads.rwth-aachen.de) -->
<!-- Date: Nov. 13, 2020 -->
<!-- Version 0.1 -->
<!-- Author: Gyunam Park (gnpark@pads.rwth-aachen.de) -->
<!-- Draft for the formal format of object-centric event log data -->
<xs:element name="log" type="LogType"/>
<!-- Attributables -->
<xs:complexType name="AttributableType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="string" minOccurs="0" maxOccurs="unbounded" type="AttributeStringType"/>
<xs:element name="date" minOccurs="0" maxOccurs="unbounded" type="AttributeDateType"/>
<xs:element name="int" minOccurs="0" maxOccurs="unbounded" type="AttributeIntType"/>
<xs:element name="float" minOccurs="0" maxOccurs="unbounded" type="AttributeFloatType"/>
<xs:element name="boolean" minOccurs="0" maxOccurs="unbounded" type="AttributeBooleanType"/>
<xs:element name="id" minOccurs="0" maxOccurs="unbounded" type="AttributeIDType"/>
<xs:element name="list" minOccurs="0" maxOccurs="unbounded" type="AttributeListType"/>
<xs:element name="container" minOccurs="0" maxOccurs="unbounded" type="AttributeContainerType"/>
</xs:choice>
</xs:complexType>
<!-- String attribute -->
<xs:complexType name="AttributeStringType">
<xs:complexContent>
<xs:extension base="AttributeType">
<xs:attribute name="value" use="required" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Date attribute -->
<xs:complexType name="AttributeDateType">
<xs:complexContent>
<xs:extension base="AttributeType">
<xs:attribute name="value" use="required" type="xs:dateTime"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Integer attribute -->
<xs:complexType name="AttributeIntType">
<xs:complexContent>
<xs:extension base="AttributeType">
<xs:attribute name="value" use="required" type="xs:long"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Floating-point attribute -->
<xs:complexType name="AttributeFloatType">
<xs:complexContent>
<xs:extension base="AttributeType">
<xs:attribute name="value" use="required" type="xs:double"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Boolean attribute -->
<xs:complexType name="AttributeBooleanType">
<xs:complexContent>
<xs:extension base="AttributeType">
<xs:attribute name="value" use="required" type="xs:boolean"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ID attribute -->
<xs:complexType name="AttributeIDType">
<xs:complexContent>
<xs:extension base="AttributeType">
<xs:attribute name="value" use="required" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- List attribute -->
<xs:complexType name="AttributeListType">
<xs:complexContent>
<xs:extension base="AttributeType"></xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Container attribute -->
<xs:complexType name="AttributeContainerType">
<xs:complexContent>
<xs:extension base="AttributableType"></xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Globals definition -->
<xs:complexType name="GlobalsType">
<xs:complexContent>
<xs:extension base="AttributableType">
<xs:attribute name="scope" type="xs:NCName" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Attribute -->
<xs:complexType name="AttributeType">
<xs:complexContent>
<xs:extension base="AttributableType">
<xs:attribute name="key" use="required" type="xs:Name"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Elements may contain attributes -->
<xs:complexType name="ElementType">
<xs:complexContent>
<xs:extension base="AttributableType"/>
</xs:complexContent>
</xs:complexType>
<!-- Logs are elements that may contain executions -->
<xs:complexType name="LogType">
<xs:complexContent>
<xs:extension base="ElementType">
<xs:sequence>
<xs:element name="global" minOccurs="0" maxOccurs="4" type="GlobalsType"/>
<xs:element name="events" minOccurs="0" maxOccurs="unbounded" type="EventsType"/>
<xs:element name="objects" minOccurs="0" maxOccurs="unbounded" type="ObjectsType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Executions are elements that may contain events -->
<xs:complexType name="EventsType">
<xs:complexContent>
<xs:extension base="ElementType">
<xs:sequence>
<xs:element name="event" minOccurs="0" maxOccurs="unbounded" type="EventType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Events are elements -->
<xs:complexType name="EventType">
<xs:complexContent>
<xs:extension base="ElementType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Specifications are elements that may contain data -->
<xs:complexType name="ObjectsType">
<xs:complexContent>
<xs:extension base="ElementType">
<xs:sequence>
<xs:element name="object" minOccurs="0" maxOccurs="unbounded" type="ObjectType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Objects are elements -->
<xs:complexType name="ObjectType">
<xs:complexContent>
<xs:extension base="ElementType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema> |