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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            
            <xsd:include schemaLocation="GeometricType.xsd"/>
            
            <xsd:complexType name="CellProperties">
                <xsd:annotation>
                    <xsd:documentation>
                        While they can be related to visualization, cell properties are mostly used to describe 
                        specific physical properties of an approach.
                        For example, in a MSN, stiffness can be assigned to a cell representing a spring, or 
                        in the FEM mesh, a rheological property, such as the Young modulus, can be defined for 
                        a cell representing an finite element.
                    
                        Derived this complex type to add your own custom properties.
                    </xsd:documentation>
                </xsd:annotation>
                <xsd:complexContent> 
                    <xsd:restriction base="xsd:anyType">
                        <xsd:attribute name="index" type="xsd:int"/>
                        <xsd:attribute name="type" type="GeometricType" use="required"/>
                        <xsd:attribute name="name" type="xsd:string"/>
                        <!-- adding any kind of attributes -->
                        <xsd:anyAttribute namespace="##any" processContents="lax"/> 
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
            
</xsd:schema>