<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:dc="http://www.omg.org/spec/CMMN/20151109/DC" 
            targetNamespace="http://www.omg.org/spec/CMMN/20151109/DC" 
            elementFormDefault="qualified" 
            attributeFormDefault="unqualified">
    <xsd:element name="Color" type="dc:Color"/>
    <xsd:element name="Point" type="dc:Point"/>
    <xsd:element name="Bounds" type="dc:Bounds"/>
    <xsd:element name="Dimension" type="dc:Dimension"/>    
    <xsd:complexType name="Color">
        <xsd:annotation>
            <xsd:documentation>Color is a data type that represents a color value in the RGB format.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="red" type="dc:rgb" use="required"/>
        <xsd:attribute name="green" type="dc:rgb" use="required"/>
        <xsd:attribute name="blue" type="dc:rgb" use="required"/>
    </xsd:complexType>
    <xsd:simpleType name="rgb">
        <xsd:restriction base="xsd:int">
            <xsd:minInclusive value="0"/>
            <xsd:maxInclusive value="255"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="Point">
        <xsd:annotation>
            <xsd:documentation>A Point specifies an location in some x-y coordinate system.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="x" type="xsd:double" use="required"/>
        <xsd:attribute name="y" type="xsd:double" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="Dimension">
        <xsd:annotation>
            <xsd:documentation>Dimension specifies two lengths (width and height) along the x and y axes in some x-y coordinate system.</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="width" type="xsd:double" use="required"/>
        <xsd:attribute name="height" type="xsd:double" use="required"/>
    </xsd:complexType>
    <xsd:complexType name="Bounds">
       <xsd:annotation>
            <xsd:documentation>Bounds specifies a rectangular area in some x-y coordinate system that is defined by a location (x and y) and a size (width and height).</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="x" type="xsd:double" use="required"/>
        <xsd:attribute name="y" type="xsd:double" use="required"/>
        <xsd:attribute name="width" type="xsd:double" use="required"/>
        <xsd:attribute name="height" type="xsd:double" use="required"/>
    </xsd:complexType>
    <xsd:simpleType name="AlignmentKind">
        <xsd:annotation>
            <xsd:documentation>AlignmentKind enumerates the possible options for alignment for layout purposes.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="start"/>
            <xsd:enumeration value="end"/>
            <xsd:enumeration value="center"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="KnownColor">
        <xsd:annotation>
            <xsd:documentation>KnownColor is an enumeration of 17 known colors.</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="maroon">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #800000</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="red">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #FF0000</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="orange">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #FFA500</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="yellow">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #FFFF00</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="olive">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #808000</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="purple">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #800080</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="fuchsia">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #FF00FF</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="white">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #FFFFFF</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="lime">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #00FF00</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="green">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #008000</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="navy">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #000080</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="blue">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #0000FF</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="aqua">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #00FFFF</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="teal">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #008080</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="black">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #000000</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="silver">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #C0C0C0</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="gray">
                <xsd:annotation>
                    <xsd:documentation>a color with a value of #808080</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:schema>