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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            
            <xsd:complexType name="AtomProperties">
                <xsd:annotation>
                    <xsd:documentation>
                        Default property is a unique index and the position.
                        You can add properties, for example, a mass property could be its mass, 
                        expressed in grams, can be assigned to an atom.
                        Custom atom properties are optional, e.g. in the FEM, there will be no specific 
                        atom properties.

                        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:nonNegativeInteger" use="required"/>
                        <xsd:attribute name="x" type="xsd:double"  use="required"/>
                        <xsd:attribute name="y" type="xsd:double"  use="required"/>
                        <xsd:attribute name="z" type="xsd:double"  use="required"/>
                        <xsd:attribute name="name" type="xsd:string"  use="optional"/>
                        <!-- adding any kind of attributes -->
                        <xsd:anyAttribute namespace="##any" processContents="lax"/> 
                    </xsd:restriction>
                </xsd:complexContent>
            </xsd:complexType>
            
</xsd:schema>