<xs:element name="segments" minOccurs="1" maxOccurs="1">
<xs:annotation>
<xs:documentation>A segment defines the smallest unit within a possibly branching structure, such as a dendrite or axon. The first segment should represent the soma, if needed for downstream applications.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:group ref="meta:metadata"/>
<xs:element name="segment" type="Segment" maxOccurs="unbounded"/>
</xs:sequence>
<!-- <xs:attribute name="name" type="xs:string" use="optional"/> -->
</xs:complexType>
<!-- This needs further testing!! -->
<xs:unique name="uniqSegId">
<xs:selector xpath=".//segment"/>
<xs:field xpath="@id"/>
</xs:unique>
<xs:key name="keySegment">
<xs:selector xpath=".//segment"/>
<xs:field xpath="@id"/>
</xs:key>
<xs:keyref name="segmentParentRef" refer="keySegment">
<xs:selector xpath=".//segment"/>
<xs:field xpath="@parent"/>
</xs:keyref>
</xs:element> |