Transforming XML file: NeuroMLFiles/Schemata/v1.6/Level2/Biophysics_v1.6.xsd using XSL file: NeuroMLFiles/Schemata/XSDtoRNG.xsl

View original file before transform

Converting the file: Biophysics_v1.6.xsd

<?xml version="1.0" encoding="UTF-8"?>
<rng:grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns="http://morphml.org/biophysics/schema" xmlns:meta="http://morphml.org/metadata/schema" ns="http://morphml.org/biophysics/schema" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
    
<!--
    This file specifies a number of elements needed by NeuroML v1.6 Level 2 compliant files

    This file has been developed as part of the neuroConstruct and NeuroML initiatives
    
    Funding for this work has been received from the Medical Research Council
    
    Author: Padraig Gleeson
    
-->


    
<rng:include href="../Level1/Metadata_v1.6.rng" ns="http://morphml.org/metadata/schema"/>
    
      
<a:documentation>
        Definition of the elements needed for specifying the biophysical properties of cells.
     These elements are linked with those in MorphML.xsd and from the ChannelML spec by
     the NeuroML.xsd file
        
</a:documentation>

    
<rng:start combine="choice">
<rng:ref name="biophysics"/>
</rng:start>
<rng:define combine="choice" name="biophysics">
<rng:element name="biophysics">
<rng:ref name="Biophysics"/>
        
<a:documentation>
            The root element. All other complex/simple elements will be children of this.
        
</a:documentation>
    
</rng:element>
</rng:define>
        
    
<rng:define combine="choice" name="Biophysics">
        
<a:documentation>
            Description of biophysical properties of a cell.
        
</a:documentation>
        
            
<rng:oneOrMore>
<rng:element name="mechanism">
<rng:ref name="Mechanism"/>
</rng:element>
</rng:oneOrMore>
            
<rng:element name="specificCapacitance">
<rng:ref name="SpecCapacitance"/>
</rng:element>
            
<rng:element name="specificAxialResistance">
<rng:ref name="SpecAxialResistance"/>
</rng:element>
            
<rng:optional>
<rng:element name="initialMembPotential">
<rng:ref name="InitialMembPotential"/>
</rng:element>
</rng:optional>
            
<rng:optional>
<rng:element name="ionProperties">
<rng:ref name="IonProperties"/>
</rng:element>
</rng:optional>
        
                
                
<rng:attribute name="units">
<rng:ref name="Units"/>
                    
<a:documentation>
                        Unit system of all quantities.
                    
</a:documentation>
                
</rng:attribute>  
    
</rng:define>
        
          
        
        
        
        
<rng:define combine="choice" name="Mechanism">
        
<a:documentation>
            Definition of placement of a single electrophysiological mechanism (e.g. channel mechanism)
                        on a group of cables of a cell
        
</a:documentation>
        
            
<rng:zeroOrMore>
<rng:element name="parameter">
<rng:ref name="NamedParameter"/>
</rng:element>
</rng:zeroOrMore>
            
<rng:zeroOrMore>
<rng:element name="variableParameter">
<rng:ref name="VariableNamedParameter"/>
</rng:element>
</rng:zeroOrMore>
        
        
<rng:attribute name="name">
<rng:data type="string"/>
</rng:attribute>
        
<rng:attribute name="type">
<rng:ref name="MechanismType"/>
</rng:attribute>
    
</rng:define>  
        
        
        
        
<rng:define combine="choice" name="SpecCapacitance">
        
<a:documentation>
                    
                        
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">F/m2</meta:units>
                    
                    Capacitance per unit area of a group of sections
        
</a:documentation>
        
            
<rng:zeroOrMore>
<rng:element name="parameter">
<rng:ref name="UnnamedParameter"/>
</rng:element>
</rng:zeroOrMore>
            
<rng:zeroOrMore>
<rng:element name="variableParameter">
<rng:ref name="VariableParameter"/>
</rng:element>
</rng:zeroOrMore>
        
    
</rng:define>  
        
        
        
<rng:define combine="choice" name="SpecAxialResistance">
        
<a:documentation>
                    
                        
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">ohm m</meta:units>
                    
            Specific axial resistance of a group of sections
        
</a:documentation>
        
            
<rng:zeroOrMore>
<rng:element name="parameter">
<rng:ref name="UnnamedParameter"/>
</rng:element>
</rng:zeroOrMore>
            
<rng:zeroOrMore>
<rng:element name="variableParameter">
<rng:ref name="VariableParameter"/>
</rng:element>
</rng:zeroOrMore>
        
    
</rng:define>  
        
        
        
<rng:define combine="choice" name="InitialMembPotential">
        
<a:documentation>
                    
                        
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">V</meta:units>
                    
            This quantity is often required for computational simulations and specifies the potential
                difference across the membrane at the start of the simulation. This is an optional field
        
</a:documentation>
        
            
<rng:zeroOrMore>
<rng:element name="parameter">
<rng:ref name="UnnamedParameter"/>
</rng:element>
</rng:zeroOrMore>
            
<rng:zeroOrMore>
<rng:element name="variableParameter">
<rng:ref name="VariableParameter"/>
</rng:element>
</rng:zeroOrMore>
        
    
</rng:define>  
        
        
        
        
<rng:define combine="choice" name="IonProperties">
        
<a:documentation>
            Some properties accociated with an ion type which takes part in the mechanisms on the cell
        
</a:documentation>
        
            
<rng:zeroOrMore>
<rng:element name="parameter">
<rng:ref name="NamedParameter"/>
</rng:element>
</rng:zeroOrMore>
        
        
<rng:attribute name="name">
<rng:data type="string"/>
</rng:attribute>
    
</rng:define>  
        
        
        
        
<rng:define combine="choice" name="NamedParameter">
        
<a:documentation>
            Definition of a value for a quantity and the associated groups of cables
                        which have this value
        
</a:documentation>
        
          
<rng:oneOrMore>
<rng:element name="group">
<rng:data type="string"/>
</rng:element>
</rng:oneOrMore>
        
        
<rng:attribute name="name">
<rng:data type="string"/>
</rng:attribute>
        
<rng:attribute name="value">
<rng:data type="double"/>
</rng:attribute>
    
</rng:define>  
        
        
<rng:define combine="choice" name="VariableParameter">
        
<a:documentation>
            Definition of a value for a quantity which varies over a given group of cables
        
</a:documentation>
        
                            
<rng:oneOrMore>
<rng:element name="group">
<rng:data type="string"/>
</rng:element>
</rng:oneOrMore>
                            
<rng:oneOrMore>
<rng:element name="inhomogeneous_value">
<rng:ref name="InhomogeneousValue"/>
</rng:element>
</rng:oneOrMore>
        
        
<rng:attribute name="name">
<rng:data type="string"/>
</rng:attribute>
    
</rng:define>  
        
        
<rng:define combine="choice" name="VariableNamedParameter">
        
<a:documentation>
            Definition of a value for a quantity which varies over a given group of cables
        
</a:documentation>
        
                            
<rng:oneOrMore>
<rng:element name="group">
<rng:data type="string"/>
</rng:element>
</rng:oneOrMore>
                            
<rng:oneOrMore>
<rng:element name="inhomogeneous_value">
<rng:ref name="InhomogeneousValue"/>
</rng:element>
</rng:oneOrMore>
        
        
<rng:attribute name="name">
<rng:data type="string"/>
</rng:attribute>
    
</rng:define>  
        
        
        
<rng:define combine="choice" name="InhomogeneousValue">
        
<a:documentation>
            How a value changes over the cable group. Implementation here based on NEURON inhomogeneous parameter specification.
            See example for usage of this element
        
</a:documentation>
        
<rng:attribute name="param_name">
<rng:data type="string">
                    
<a:documentation>
                        Name used in the inhomogeneous_param element in the cable group
                    
</a:documentation>
        
</rng:data>
</rng:attribute>
        
<rng:attribute name="value">
<rng:data type="string">
                    
<a:documentation>
                        Equation showing how parameter changes as function of variable attribute in inhomogeneous_param element
                    
</a:documentation>
        
</rng:data>
</rng:attribute>
                
    
</rng:define>        
        
        
<!--
         <xs:complexType name="IonParameter">

        <xs:annotation>

            <xs:documentation>
NamedParameter restricted to params for ions</xs:documentation>
                </xs:annotation>

                <xs:complexContent>

                    <xs:restriction base="NamedParameter">

                        <xs:sequence>

                        <xs:element name="group">

                            <xs:restriction base="xs:string">

                                <xs:enumeration value="yes"/>

                                <xs:enumeration value="no"/>

                            </xs:restriction>

                        </xs:element>

                        </xs:sequence>

                        <xs:attribute name="name" type="xs:string" use="required"/>

                        <xs:attribute name="value" type="xs:double" use="required"/>

                    </xs:restriction>

                </xs:complexContent>

        </xs:complexType>
-->
        
        
        
        
<rng:define combine="choice" name="UnnamedParameter">
        
<a:documentation>
            Definition of a value for a quantity and the associated groups of cables
                        which have this value. The quantity referred to will be clear from the usage, e.g. InitialMembPotential
        
</a:documentation>

        
            
<rng:oneOrMore>
<rng:element name="group">
<rng:data type="string"/>
</rng:element>
</rng:oneOrMore>
        
        
<rng:attribute name="value">
<rng:data type="double"/>
</rng:attribute>
    
</rng:define>  
    
    
          
<!-- Definition of MechanismType follows. -->
        
<rng:define combine="choice" name="MechanismType">
            
<a:documentation>
                Specifies the type of cellular mechanism. Note could be used for any type of electrophysiological
                property of a section of a cell
            
</a:documentation>
            
<rng:choice>
                
<rng:value>Channel Mechanism</rng:value>
                    
<a:documentation>
                        Voltage and/or conductance dependent membrane conductance
                    
</a:documentation>
                
                
<rng:value>Ion Concentration</rng:value>
                    
<a:documentation>
                        Mechanism which alters the oncentration of a specific ion
                    
</a:documentation>
                
            
</rng:choice>
        
</rng:define>
  
        

        
<rng:define combine="choice" name="SynapticDelayValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">s</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">0.005</meta:typical_value>
                
                Units of a delay associated with a synaptic connection
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minInclusive">0</rng:param>
            
</rng:data>
        
</rng:define>
            

        
<rng:define combine="choice" name="TimeConstantValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">s</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">0.005</meta:typical_value>
                
                Units of any time constant
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minExclusive">0</rng:param>
            
</rng:data>
        
</rng:define>
            

        
<rng:define combine="choice" name="TimeValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">s</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">0.005</meta:typical_value>
                
                Units of any time value, zero or greater
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minInclusive">0</rng:param>
            
</rng:data>
        
</rng:define>


        
<rng:define combine="choice" name="FrequencyValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">Hz</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">50</meta:typical_value>
                
                Units of any frequency, zero or greater
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minInclusive">0</rng:param>
            
</rng:data>
        
</rng:define>


        
<rng:define combine="choice" name="ConductanceValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">S</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">1e-8</meta:typical_value>
                
                Units of conductance
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minInclusive">0</rng:param>
            
</rng:data>
        
</rng:define>
        
        
        
<rng:define combine="choice" name="ConductanceDensityValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">S m-2</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">100</meta:typical_value>
                
                Units of conductance density
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minInclusive">0</rng:param>
            
</rng:data>
        
</rng:define>
        
        

        
<rng:define combine="choice" name="LengthValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">m</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">1e-6</meta:typical_value>
                
                Units of length
            
</a:documentation>
            
<rng:data type="double">
            
</rng:data>
        
</rng:define>
        
        


        
<rng:define combine="choice" name="CurrentValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">A</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">1e-11</meta:typical_value>
                
                Units of current
            
</a:documentation>
            
<rng:data type="double">
            
</rng:data>
        
</rng:define>


        
<rng:define combine="choice" name="ConcentrationValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">mM</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">1e-5</meta:typical_value>
                
                Units of concentration
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minInclusive">0</rng:param>
            
</rng:data>
        
</rng:define>



        
<rng:define combine="choice" name="VoltageValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">V</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">-0.07</meta:typical_value>
                
                Units of voltage
            
</a:documentation>
            
<rng:data type="double"/>
        
</rng:define>

        
<rng:define combine="choice" name="TemperatureValue">
            
<a:documentation>
                
                    
<meta:units xmlns:xs="http://www.w3.org/2001/XMLSchema">deg C</meta:units>
                    
<meta:typical_value xmlns:xs="http://www.w3.org/2001/XMLSchema">32</meta:typical_value>
                
                Units of temperature
            
</a:documentation>
            
<rng:data type="double">
                
<rng:param name="minExclusive">0</rng:param>
            
</rng:data>
        
</rng:define>
        
</rng:grammar>


Time to transform file: 0.021 secs