linpershey's picture
Add 'pm4py/' from commit '80970016c5e1e79af7c37df0dd88e17587fe7bcf'
b4ba3ec
<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 ([email protected]) -->
<!-- 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>