<?xml version="1.0" encoding="UTF-8"?>
<!--
The main NeuroML Level 3 Schema file
Funding for this work has been received from the Medical Research Council and the
Wellcome Trust. This file was initially developed as part of the neuroConstruct project
Author: Padraig Gleeson
Copyright 2009 University College London
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-->
<xs:schema targetNamespace="http://morphml.org/neuroml/schema"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:mml="http://morphml.org/morphml/schema"
xmlns:meta="http://morphml.org/metadata/schema"
xmlns:bio="http://morphml.org/biophysics/schema"
xmlns:cml="http://morphml.org/channelml/schema"
xmlns:net="http://morphml.org/networkml/schema"
xmlns="http://morphml.org/neuroml/schema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://morphml.org/networkml/schema"
schemaLocation="NetworkML_v1.8.1.xsd"/>
<xs:import namespace="http://morphml.org/morphml/schema"
schemaLocation="../Level1/MorphML_v1.8.1.xsd"/>
<xs:import namespace="http://morphml.org/biophysics/schema"
schemaLocation="../Level2/Biophysics_v1.8.1.xsd"/>
<xs:import namespace="http://morphml.org/channelml/schema"
schemaLocation="../Level2/ChannelML_v1.8.1.xsd"/>
<xs:import namespace="http://morphml.org/metadata/schema"
schemaLocation="../Level1/Metadata_v1.8.1.xsd"/>
<xs:element name="neuroml" type="NeuroMLLevel3">
<xs:annotation>
<xs:documentation>The root NeuroML Level 3 element.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="NeuroMLLevel3">
<xs:annotation>
<xs:documentation>Description of neuronal models, including biophysics and channel mechanisms, and network connections (NeuroML Level 3).</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:group ref="meta:metadata"/>
<xs:group ref="meta:referencedata"/>
<xs:element name="cells" type="Level3Cells" minOccurs="0"/>
<xs:element name="channels" type="cml:ChannelML" minOccurs="0"/>
<xs:group ref="net:CoreNetworkElements" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="lengthUnits" type="meta:LengthUnits" use="optional">
<xs:annotation>
<xs:documentation>Unit of all length measurements. Usually has the value <b>micrometer</b>. Note: length_units will be the preferred form in v2.0</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="length_units" type="meta:LengthUnits" use="optional">
<xs:annotation>
<xs:documentation>Unit of all length measurements. Usually has the value <b>micrometer</b>. Note: length_units will be the preferred form in v2.0</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="volumeUnits" type="meta:VolumeUnits" use="optional" default="cubic_millimeter"> <!-- Note: changed to the American English spelling in v1.8.1...-->
<xs:annotation>
<xs:documentation>Unit of all volume measurements.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="Level3Cells">
<xs:annotation>
<xs:documentation>Set of Level 3 cells</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="cell" type="Level3Cell" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A single cell specified in MorphML extended to include channel density info.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Level3Cell">
<xs:annotation>
<xs:documentation>Cell with extensions for biophysics, and network functionality</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="mml:Cell">
<xs:sequence>
<xs:element name="biophysics" type="Level3Biophysics" minOccurs="0"/>
<xs:element name="connectivity" type="net:Level3Connectivity" minOccurs="0">
<xs:annotation>
<xs:documentation>Note: from v1.7.1 the preferred way to specify a potential synaptic location
is with a potential_syn_loc element under connectivity under cell, as opposed to the potentialSynapticLocation
under biophysics under cell. The former will be the only option from v2.0</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Level3Biophysics">
<xs:annotation>
<xs:documentation>Biophysics of Level3 cell, including specification for allowable synaptic locations.
Note: from v1.7.1 the preferred way to specify a potential synaptic location is with a potential_syn_loc element under connectivity under cell, as
opposed to the potentialSynapticLocation under biophysics under cell. The former will be the only option from v2.0</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="bio:Biophysics">
<xs:sequence>
<xs:group ref="net:BiophysicsNetworkElements" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
|