Dev:Splitting and merging railML files: Difference between revisions

From railML 3 Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
Line 2,687: Line 2,687:
|height=100px}}
|height=100px}}


=== Merged ===
=== Merging ===


After merging files back, list of {{RTM:Tag|associatedNetElement}}s of {{RTM:Tag|linearLocation}}s of split functional IS includes also connector {{IS:Tag|netElement}}s.
After merging files back, list of {{RTM:Tag|associatedNetElement}}s of {{RTM:Tag|linearLocation}}s of split functional IS includes also connector {{IS:Tag|netElement}}s.

Revision as of 13:02, 11 September 2024

Introduction

This is a guide on splitting and merging railML files serving as a list of best practices.

Problem statement

Users have a big file with railway network and lines in it. Reading software may not support importing this big file. Users want to extract lines from the network to separate files and then (after import) to bring lines back into one network. Splitting and merging of lines may be done by different parties and different tools.

Railway sector actors should be able to prepare their data for splitting and integration in a unified standardized way i.e. split files into (lines) parts intended for integration in an automated way, define explicit points for connection.

General concept

2024-09-09 railML splittingConcept.svg

Connector <netElement> is a redundant <netElement> marking a “border” of a file. It exists in both files after splitting. Connector should have a UUID for the entire lifetime of the splitting exercise.

Connector net element in both split files should have same identifiers (Listings 1 and 2). In the following examples net relations refer to the same net element called “connector”. Topologically it should be located at the border of the lines but not covered by them. In the “general approach” connector is inserted in both mesoscopic and macroscopic levels of aggregation.

Excerpt of topology of the first split file

<netRelation id="nr_ne1connector" navigability="Both">
  <elementA ref="ne1"/>
  <elementB ref="connector"/>
</netRelation>

Excerpt of topology of the second split file

<netRelation id="nr_connector_ne2" navigability="Both">
  <elementA ref="connector "/>
  <elementB ref="ne2"/>
</netRelation>


Splitting between <netElement>s

Splitting network into lines

No overlap

Two railway lines cover disjoint sets of net elements at the macroscopic and microscopic levels. There is no overlap at both microscopic and macroscopic level of aggregation.

2024-09-09 railML splittingNetwork.svg

Input
Line1
Line2
Merged

Overlap within a station

Railway lines border each other within the railway station. Two railway lines cover disjoint sets of net elements only at the microscopic level.

2024-09-09 railML splittingNetwork (1).svg

Line into line sections and station

Line section is a part of line between two railway stations with no stations in between.

Linear positioning system should have UUID, for the entire lifetime of the splitting exercise, and be consistent with semantic constraint IS 016.

2024-09-10 railML splittingLine1.png

Routes

Splitting one <netElement> into two <netElement>s

In the Simple example (link to the railML® website) there is only one <netElement> corresponding to the line section between Arnau and Cstadt. This means that net element should be split and replaced by two net elements.

In between of two split net elements a connector <netElement> should be inserted.

If splitting at linear coordinate 2500 then:

- every functional IS with coordinate ≤ 2500 should be extracted to file1;

- every functional IS with coordinate > 2500 should be extracted to file2;

- netElement1 beginning at milage 700 end ending at mileage 2500 should be added in file1;

- netElement2 beginning at milage 2500 end ending at mileage 4300 should be added in file2;

- connector2 should be inserted in the end of netElement1 in file1;

- connector2 should be inserted in the beginning of netElement1 in file2.

Initial net element will be lost.

Linear positioning system should have UUID, for the entire lifetime of the splitting exercise, and be consistent with semantic constraint IS 016.

Lets see an example of splitting line section into two parts. Furthermore line section was already extracted in the previous step, therefore input file already includes connectors.

2024-09-09 railML splittingNetElementIntoParts.svg

Input file

<?xml version="1.0" encoding="UTF-8"?>
<railML xmlns="https://www.railml.org/schemas/3.1" 
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml="http://www.opengis.net/gml/3.2/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://www.railml.org/schemas/3.1 https://www.railml.org/schemas/3.1/railml3.xsd"
        version="3.1">
  <metadata>
    <dc:format>3.1</dc:format>
    <dc:identifier>3</dc:identifier>
    <dc:source>railML.org</dc:source>
    <dc:title xml:lang="en">Simple Example v12 railML 3.1</dc:title>
    <dc:language>en</dc:language>
    <dc:creator xml:lang="de">railML.org</dc:creator>
    <dc:creator xml:lang="de">Dr. Jörg von Lingen</dc:creator>
    <dc:description>This example file has been coded manually and therefore may not be free of errors.</dc:description>
    <dc:rights>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.
      This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivatives 4.0 International License with additional license conditions of railML.org.
      For further information see: https://www.railml.org/licence
      Content of this file: railML 3.1 Simple Example</dc:rights>
  </metadata>
<!-- Bf Arnau covers net element a11 and Bf Cstadt covers b11. a11 and b11 are both linked to x11. Thus in this file x11 
and all the topology aggregated into x11 and all the functional IS referring to 
x11 and aggregated topology are extracted from Simple example -->
  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
    <speedProfiles>
      <speedProfile id="spp01" influence="increasing"></speedProfile>
    </speedProfiles>
    <positioning>
<!-- linear positioning system should have UUID and be consistent with semantic constraint IS 016 -->
      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>

    </positioning>
  </common>
  
  <infrastructure id="is_01">
    <topology>
      <netElements>

        <netElement id="ne_x01" length="3600.0">
          <relation ref="nr_ne_x01connector1"/>
          <relation ref="nr_connector3ne_x01"/>
          <associatedPositioningSystem id="ne_x01_aps01">
            <intrinsicCoordinate id="ne_x01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net elements of microscopic level-->
        <netElement id="connector1">
          <relation ref="nr_ne_x01connector1"/>
          <associatedPositioningSystem id="connector1_aps01">
            <intrinsicCoordinate id="connector1_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
				
        <netElement id="connector3">
          <relation ref="nr_connector3ne_x01"/>
          <associatedPositioningSystem id="connector3_aps01">
            <intrinsicCoordinate id="connector3_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <netElement id="ne_x11">
          <relation ref="nr_ne_x11connector2"/>
          <relation ref="nr_connector4ne_x11"/>
          <elementCollectionOrdered id="ne_x11_ecu01">
            <elementPart ref="ne_x01"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="ne_x11_aps01">
            <intrinsicCoordinate id="ne_x11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x11_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net elements of mesoscopic level-->
        <netElement id="connector2">
          <relation ref="nr_ne_x11connector2"/>
					<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
          <elementCollectionOrdered id="connector2_ecu01">
            <elementPart ref="connector1"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="connector2_aps01">
            <intrinsicCoordinate id="connector2_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <netElement id="connector4">
          <relation ref="nr_connector4ne_x11"/>
					<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
          <elementCollectionOrdered id="connector4_ecu01">
            <elementPart ref="connector3"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="connector4_aps01">
            <intrinsicCoordinate id="connector4_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
      </netElements>

      <netRelations>
        <!-- connector net relations of microscopic level-->
        <netRelation id="nr_ne_x01connector1" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_x01"/>
          <elementB ref="connector1"/>
        </netRelation>
        <netRelation id="nr_connector3ne_x01" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector3"/>
          <elementB ref="ne_x01"/>
        </netRelation>				
        <!-- connector net relations of mesoscopic level-->
        <netRelation id="nr_ne_x11connector2" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_x11"/>
          <elementB ref="connector2"/>
        </netRelation>
        <netRelation id="nr_connector4ne_x11" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector4"/>
          <elementB ref="ne_x11"/>
        </netRelation>
			</netRelations>

      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">

            <networkResource ref="ne_x01"/>
            <networkResource ref="connector1"/>
            <networkResource ref="connector3"/>
						
            <networkResource ref="nr_ne_x01connector1"/>
            <networkResource ref="nr_connector3ne_x01"/>

						
          </level>
          <level id="lv1" descriptionLevel="Meso">

            <networkResource ref="ne_x11"/>
            <networkResource ref="connector2"/>
            <networkResource ref="connector4"/>

            <networkResource ref="nr_ne_x11connector2"/>
            <networkResource ref="nr_connector4ne_x11"/>
          </level>
        </network>
      </networks>
    </topology>
    
    <geometry>
    </geometry>
    
    <functionalInfrastructure>

      

      
      <levelCrossingsIS>
        <levelCrossingIS id="lcr01" activation="infrastructureAutomatic">
          <name name="LX Arnau Cstadt" language="en"/>
          <spotLocation id="lcr01_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1800.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2500.00"/>
          </spotLocation>
          <protection barriers="singleHalfBarrier" lights="none" acoustic="none"/>
        </levelCrossingIS>
      </levelCrossingsIS>
      
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">

          <linearLocation id="lin01_lloc01" applicationDirection="both">
<!-- associated net elements referring to a11 b11 are not extracted because are not aggregated into a11. 
Thus line and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_x11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>

          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>
      
<!-- loading gauge is extracted because line refers to it -->
      <loadingGauges>
        <loadingGauge id="log01" code="GA"/>
      </loadingGauges>
<!-- opp01 and opp02 are extracted because line from beginsInOp and endsInOp refers to it. Thus should have UUIDs -->

      <operationalPoints>
        <operationalPoint id="opp01">
        </operationalPoint>
        <operationalPoint id="opp02">
        </operationalPoint>
      </operationalPoints>
      
      <signalsIS>

        <signalIS id="sig07" isSwitchable="true">
          <name name="69Va" language="en"/>
          <spotLocation id="sig07_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="2900.0">
            <linearCoordinate positioningSystemRef="lps01" measure="3600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>

        <signalIS id="sig11" isSwitchable="false">
          <spotLocation id="sig11_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1300.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2000.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="announcement" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig12" isSwitchable="false">
          <spotLocation id="sig12_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig13" isSwitchable="false">
          <spotLocation id="sig13_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1850.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="endOfTrain">
            <refersToEndOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
      </signalsIS>
      
      <speeds>
        <speedSection id="sps01" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps01_lloc01" applicationDirection="normal">

<!-- associated net elements referring to a03, b03 and b01 are not extracted because are not aggregated into x11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>

          </linearLocation>
          <validForSpeedProfile ref="spp01"/>
        </speedSection>
        <speedSection id="sps02" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps02_lloc01" applicationDirection="reverse">
<!-- associated net elements referring to a03, b03 and a01 are not extracted because are not aggregated into x11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>

          </linearLocation>
        </speedSection>
        <speedSection id="sps03" maxSpeed="20" isTemporary="true" isSignalized="true">
          <isValid from="2018-12-15" to="2018-12-22"/>
          <linearLocation id="sps03_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="2400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="2550.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>
      </speeds>
<!-- swi01 and swi02 are extracted because track from trackBegin and trackEnd refers to it. Thus should have UUIDs -->
      <switchesIS>
        <switchIS id="swi01">
        </switchIS>
        <switchIS id="swi02">
        </switchIS>

      </switchesIS>
      
      <tracks>

        <track id="trc03" type="mainTrack">
          <linearLocation id="trc03_lloc01" applicationDirection="both">

            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true" sequence="2" posBegin="0.0" posEnd="3600.0">
            </associatedNetElement>
<!-- associated net elements referring to a01 b03 are not extracted because are not aggregated into x11. 
Thus track and all the children should have UUIDs or keys for successful merge -->
          </linearLocation>
          <trackBegin ref="swi01"/>
          <trackEnd ref="swi02"/>
          <length value="4000.0" type="physical"/>
        </track>

      </tracks>
      
      <trainDetectionElements>

        <trainDetectionElement id="tde12" type="axleCounter">
          <spotLocation id="tde12_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde13" type="axleCounter">
          <spotLocation id="tde13_sloc01" netElementRef="ne_x01" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
      </trainDetectionElements>
    </functionalInfrastructure>

    <infrastructureStates>
      <infrastructureState id="iss01" value="operational">
        <name name="operational infrastructure 2018" language="en"/>
        <elementState id="ess01" refersToElement="lcr01" value="operational">
          <name name="levelCrossing in operation" language="en"/>
          <validityTime>
            <periodBitmask fromDate="2018-01-01" bitmask="1111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100">
              <periodRule>
                <period from="06:00:00" to="22:00:00"/>
              </periodRule>
            </periodBitmask>
          </validityTime>
        </elementState>
      </infrastructureState>
    </infrastructureStates>
    
  </infrastructure>
  

</railML>

Splitting functional infrastructure entities with <linearLocation>

Linear positioning system should have UUID, for the entire lifetime of the splitting exercise, and be consistent with semantic constraint IS 016.

In this example the following functional IS entities span across several <netElement> and are split in the middle. Therefore they and all their children should have UUIDs, for the entire lifetime of the splitting exercise, for successful merge.

  • <line>, as associated net elements referring to x11 b11 are not extracted because are not aggregated into a11.
  • <overCrossing> (tunnel), as associated net element referring to x01 is not extracted because is not aggregated into a11.
  • <speedSection>, as associated net elements referring to x01 b03 and b01 are not extracted because are not aggregated into a11.
  • <track>, as associated net elements referring to x01 b03 are not extracted because are not aggregated into a11.

Input

Input to splitting into stations and line sections is Simple example of railML.org.

Stations and line sections do not overlap topologically, i.e. no mesoscopic net element is covered by both station and line section.

Tunnel ends after station ends. Tunnel completely covers station.

<?xml version="1.0" encoding="UTF-8"?>
<railML xmlns="https://www.railml.org/schemas/3.1" 
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml="http://www.opengis.net/gml/3.2/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://www.railml.org/schemas/3.1 https://www.railml.org/schemas/3.1/railml3.xsd"
        version="3.1">
  <metadata>
    <dc:format>3.1</dc:format>
    <dc:identifier>3</dc:identifier>
    <dc:source>railML.org</dc:source>
    <dc:title xml:lang="en">Simple Example v12 railML 3.1</dc:title>
    <dc:language>en</dc:language>
    <dc:creator xml:lang="de">railML.org</dc:creator>
    <dc:creator xml:lang="de">Dr. Jörg von Lingen</dc:creator>
    <dc:description>This example file has been coded manually and therefore may not be free of errors.</dc:description>
    <dc:rights>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.
      This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivatives 4.0 International License with additional license conditions of railML.org.
      For further information see: https://www.railml.org/licence
      Content of this file: railML 3.1 Simple Example</dc:rights>
  </metadata>
  
  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
    <speedProfiles>
      <speedProfile id="spp01" influence="increasing"></speedProfile>
    </speedProfiles>
    <positioning>
      <geometricPositioningSystems>
        <geometricPositioningSystem id="gps01" crsDefinition="epsg:4326">
          <name name="WGS84" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </geometricPositioningSystem>
        <geometricPositioningSystem id="gps02" crsDefinition="epsg:25832">
          <name name="ETRS89_UTMzone32N" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </geometricPositioningSystem>
      </geometricPositioningSystems>
      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>
      <screenPositioningSystems>
        <screenPositioningSystem pxX="1024" pxY="768" id="scs01">
          <name name="screen visualization coordinate system" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </screenPositioningSystem>
      </screenPositioningSystems>
    </positioning>
  </common>
  
  <infrastructure id="is_01">
    <topology>
      <netElements>
        <netElement id="ne_a01" length="500.0">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a01a03"/>
          <associatedPositioningSystem id="ne_a01_aps01">
            <intrinsicCoordinate id="ne_a01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a02" length="500.0">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a02a03"/>
          <associatedPositioningSystem id="ne_a02_aps01">
            <intrinsicCoordinate id="ne_a02_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a02_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a03" length="200.0">
          <relation ref="nr_a01a03"/>
          <relation ref="nr_a02a03"/>
          <relation ref="nr_a03x01"/>
          <associatedPositioningSystem id="ne_a03_aps01">
            <intrinsicCoordinate id="ne_a03_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a03_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b01" length="500.0">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b01b04"/>
          <associatedPositioningSystem id="ne_b01_aps01">
            <intrinsicCoordinate id="ne_b01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b02" length="450.0">
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b02b05"/>
          <associatedPositioningSystem id="ne_b02_aps01">
            <intrinsicCoordinate id="ne_b02_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b02_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b03" length="200.0">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_x01b03"/>
          <associatedPositioningSystem id="ne_b03_aps01">
            <intrinsicCoordinate id="ne_b03_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b03_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b04" length="50.0">
          <relation ref="nr_b01b04"/>
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_b04b05"/>
          <associatedPositioningSystem id="ne_b04_aps01">
            <intrinsicCoordinate id="ne_b04_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b05" length="200.0">
          <relation ref="nr_b02b05"/>
          <relation ref="nr_b04b05"/>
          <associatedPositioningSystem id="ne_b05_aps01">
            <intrinsicCoordinate id="ne_b05_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b05_aps01_ic02" intrinsicCoord="1">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_x01" length="3600.0">
          <relation ref="nr_a03x01"/>
          <relation ref="nr_x01b03"/>
          <associatedPositioningSystem id="ne_x01_aps01">
            <intrinsicCoordinate id="ne_x01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a11">
          <relation ref="nr_a11x11"/>
          <elementCollectionUnordered id="ne_a11_ecu01">
            <elementPart ref="ne_a01"/>
            <elementPart ref="ne_a02"/>
            <elementPart ref="ne_a03"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_a11_aps01">
            <intrinsicCoordinate id="ne_a11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b11">
          <relation ref="nr_x11b11"/>
          <elementCollectionUnordered id="ne_b11_ecu01">
            <elementPart ref="ne_b01"/>
            <elementPart ref="ne_b02"/>
            <elementPart ref="ne_b03"/>
            <elementPart ref="ne_b04"/>
            <elementPart ref="ne_b05"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_b11_aps01">
            <intrinsicCoordinate id="ne_b11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="5000.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_x11">
          <relation ref="nr_a11x11"/>
          <relation ref="nr_x11b11"/>
          <elementCollectionOrdered id="ne_x11_ecu01">
            <elementPart ref="ne_x01"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="ne_x11_aps01">
            <intrinsicCoordinate id="ne_x11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x11_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
      </netElements>

      <netRelations>
        <netRelation id="nr_a01a02" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a02"/>
        </netRelation>
        <netRelation id="nr_a01a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_a02a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a02"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_b01b03" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b03"/>
        </netRelation>
        <netRelation id="nr_b01b04" positionOnA="0" positionOnB="0" navigability="None">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b04" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b05" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_b03b04" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_b03"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b04b05" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_b04"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_a03x01" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a03"/>
          <elementB ref="ne_x01"/>
        </netRelation>
        <netRelation id="nr_x01b03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_x01"/>
          <elementB ref="ne_b03"/>
        </netRelation>
        <netRelation id="nr_a11x11" positionOnA="0" positionOnB="0" navigability="Both">
          <elementA ref="ne_a11"/>
          <elementB ref="ne_x11"/>
        </netRelation>
        <netRelation id="nr_x11b11" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_x11"/>
          <elementB ref="ne_b11"/>
        </netRelation>
      </netRelations>
   
      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">
            <networkResource ref="ne_a01"/>
            <networkResource ref="ne_a02"/>
            <networkResource ref="ne_a03"/>
            <networkResource ref="ne_b01"/>
            <networkResource ref="ne_b02"/>
            <networkResource ref="ne_b03"/>
            <networkResource ref="ne_b04"/>
            <networkResource ref="ne_b05"/>
            <networkResource ref="ne_x01"/>
            <networkResource ref="nr_a01a02"/>
            <networkResource ref="nr_a01a03"/>
            <networkResource ref="nr_a02a03"/>
            <networkResource ref="nr_b01b03"/>
            <networkResource ref="nr_b01b04"/>
            <networkResource ref="nr_b02b04"/>
            <networkResource ref="nr_b02b05"/>
            <networkResource ref="nr_b03b04"/>
            <networkResource ref="nr_b04b05"/>
            <networkResource ref="nr_a03x01"/>
            <networkResource ref="nr_x01b03"/>
          </level>
          <level id="lv1" descriptionLevel="Meso">
            <networkResource ref="ne_a11"/>
            <networkResource ref="ne_b11"/>
            <networkResource ref="ne_x11"/>
            <networkResource ref="nr_a11x11"/>
            <networkResource ref="nr_x11b11"/>
          </level>
        </network>
      </networks>
    </topology>
    
    <geometry>
    </geometry>
    
    <functionalInfrastructure>
      <bufferStops>
        <bufferStop id="bus01" type="fixedBufferStop">
          <spotLocation id="bus01_sloc01" netElementRef="ne_a01" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus02" type="fixedBufferStop">
          <spotLocation id="bus02_sloc01" netElementRef="ne_a02" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus03" type="fixedBufferStop">
          <spotLocation id="bus03_sloc01" netElementRef="ne_b01" applicationDirection="normal" pos="500.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus04" type="fixedBufferStop">
          <spotLocation id="bus04_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus05" type="sleeperCross">
          <spotLocation id="bus05_sloc01" netElementRef="ne_b05" applicationDirection="reverse" pos="0.0">
          </spotLocation>
        </bufferStop>
      </bufferStops>
      
      <derailersIS>
        <derailerIS id="der01" derailSide="right">
          <spotLocation id="der01_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="150.0">
          </spotLocation>
        </derailerIS>
      </derailersIS>
      
      <levelCrossingsIS>
        <levelCrossingIS id="lcr01" activation="infrastructureAutomatic">
          <name name="LX Arnau Cstadt" language="en"/>
          <spotLocation id="lcr01_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1800.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2500.00"/>
          </spotLocation>
          <protection barriers="singleHalfBarrier" lights="none" acoustic="none"/>
        </levelCrossingIS>
      </levelCrossingsIS>
      
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">
          <name name="Malý příklad železniční tratě" language="cz"/>
          <name name="Kleine Beispielstrecke" language="de"/>
          <name name="Simple Example railway line" language="en"/>
          <name name="Ejemplo Simple de Linea Ferroviaria" language="es"/>
          <name name="Petit Exemple Ligne Ferroviaire" language="fr"/>
          <name name="Semplice Esempio di Stazione/Linea Ferroviaria" language="it"/>
          <name name="Lille eksempelbanen" language="no"/>
          <name name="Lilla Exempellinjen" language="se"/>
          <linearLocation id="lin01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="0.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>
      
      <loadingGauges>
        <loadingGauge id="log01" code="GA"/>
      </loadingGauges>
      
      <operationalPoints>
        <operationalPoint id="opp01">
          <name name="Bf Arnau" language="de"/>
          <name name="Adamov" language="cz"/>
          <spotLocation id="opp01_sloc01" netElementRef="ne_a11" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="300.0"/>
          </spotLocation>
          <designator register="_SimpleRegister" entry="OAR"/>
          <infrastructureManagerRef ref="im_01"/>
          <opEquipment>
            <ownsPlatform ref="plf01"/>
            <ownsSignal ref="sig01"/>
            <ownsSignal ref="sig02"/>
            <ownsSignal ref="sig03"/>
          </opEquipment>
          <opOperations>
            <opOperation operationalType="station" trafficType="passenger"/>
          </opOperations> 
        </operationalPoint>
        <operationalPoint id="opp02">
          <name name="Bf Cstadt" language="de"/>
          <name name="Bouzov" language="cz"/>
          <spotLocation id="opp02_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="4700.0"/>
          </spotLocation>
          <designator register="_SimpleRegister" entry="OCS"/>
          <infrastructureManagerRef ref="im_01"/>
          <opEquipment>
            <ownsPlatform ref="plf02"/>
            <ownsPlatform ref="plf03"/>
            <ownsSignal ref="sig04"/>
            <ownsSignal ref="sig05"/>
            <ownsSignal ref="sig06"/>
          </opEquipment>
          <opOperations>
            <opOperation operationalType="station" trafficType="passenger"/>
          </opOperations> 
        </operationalPoint>
      </operationalPoints>
      
      <overCrossings>
        <overCrossing constructionType="tunnel" id="tun01">
          <linearLocation applicationDirection="both" id="tun01_lloc01">
            <associatedNetElement keepsOrientation="true" netElementRef="ne_a01">
              <linearCoordinateBegin measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="500.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
            <associatedNetElement keepsOrientation="true" netElementRef="ne_a03">
              <linearCoordinateBegin measure="500.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="700.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
            <associatedNetElement keepsOrientation="true" netElementRef="ne_x01">
              <linearCoordinateBegin measure="700.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="800.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
        </overCrossing>
      </overCrossings>
			
      <platforms>
        <platform id="plf01">
          <spotLocation id="plf01_sloc01" netElementRef="ne_a11" applicationDirection="both">
            <linearCoordinate measure="300.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple01"/>
          <ownsPlatformEdge ref="ple02"/>
        </platform>
        <platform id="plf02">
          <spotLocation id="plf02_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate measure="4700.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple03"/>
        </platform>
        <platform id="plf03">
          <spotLocation id="plf03_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate measure="4700.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple04"/>
        </platform>
        <platform id="ple01" height="550">
          <name name="Gleis 3" language="de"/>
          <linearLocation id="ple01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true" posBegin="200.0" posEnd="400.0">
              <linearCoordinateBegin measure="200.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="right"/>
              <linearCoordinateEnd measure="400.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="right"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple02" height="550">
          <name name="Gleis 2" language="de"/>
          <linearLocation id="ple02_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a02" keepsOrientation="true" posBegin="200.0" posEnd="400.0">
              <linearCoordinateBegin measure="200.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="left"/>
              <linearCoordinateEnd measure="400.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="left"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple03" height="550">
          <name name="Gleis 2" language="de"/>
          <linearLocation id="ple03_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true" posBegin="150.0" posEnd="350.0">
              <linearCoordinateBegin measure="4650.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="4850.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple04" height="380">
          <name name="Gleis 1" language="de"/>
          <linearLocation id="ple04_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b02" keepsOrientation="true" posBegin="100.0" posEnd="350.0">
              <linearCoordinateBegin measure="4650.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="4900.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="250.00" validForDirection="both"/>
        </platform>
      </platforms>
      
      <signalsIS>
        <signalIS id="sig01" isSwitchable="false">
          <name name="68N2" language="en"/>
          <spotLocation id="sig01_sloc01" netElementRef="ne_a01" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="450.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig02" isSwitchable="false">
          <name name="68N1" language="en"/>
          <spotLocation id="sig02_sloc01" netElementRef="ne_a02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="450.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig03" isSwitchable="false">
          <name name="68F" language="en"/>
          <spotLocation id="sig03_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="700.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig04" isSwitchable="true">
          <name name="69A" language="en"/>
          <spotLocation id="sig04_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4300.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig05" isSwitchable="true">
          <name name="69P2" language="en"/>
          <spotLocation id="sig05_sloc01" netElementRef="ne_b01" applicationDirection="reverse" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4600.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig06" isSwitchable="true">
          <name name="69P1" language="en"/>
          <spotLocation id="sig06_sloc01" netElementRef="ne_b02" applicationDirection="reverse" pos="50.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4600.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig07" isSwitchable="true">
          <name name="69Va" language="en"/>
          <spotLocation id="sig07_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="2900.0">
            <linearCoordinate positioningSystemRef="lps01" measure="3600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig08" isSwitchable="true">
          <name name="69W04Y" language="en"/>
          <spotLocation id="sig08_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="100.0">
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig09" isSwitchable="false">
          <spotLocation id="sig09_sloc01" netElementRef="ne_a03" applicationDirection="normal" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps01"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig10" isSwitchable="false">
          <spotLocation id="sig10_sloc01" netElementRef="ne_b03" applicationDirection="reverse" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4400.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps02"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig11" isSwitchable="false">
          <spotLocation id="sig11_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1300.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2000.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="announcement" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig12" isSwitchable="false">
          <spotLocation id="sig12_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig13" isSwitchable="false">
          <spotLocation id="sig13_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1850.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="endOfTrain">
            <refersToEndOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
      </signalsIS>
      
      <speeds>
        <speedSection id="sps01" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps01_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="600.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4500.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4500.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <validForSpeedProfile ref="spp01"/>
        </speedSection>
        <speedSection id="sps02" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps02_lloc01" applicationDirection="reverse">
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="500.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="500.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="0.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>
        <speedSection id="sps03" maxSpeed="20" isTemporary="true" isSignalized="true">
          <isValid from="2018-12-15" to="2018-12-22"/>
          <linearLocation id="sps03_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="2400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="2550.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>
      </speeds>
      
      <switchesIS>
        <switchIS id="swi01" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="68W02" language="en"/>
          <spotLocation id="swi01_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_a02a03" branchingSpeed="60" joiningSpeed="60" radius="-500"/>
          <rightBranch netRelationRef="nr_a01a03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
        </switchIS>
        <switchIS id="swi02" continueCourse="left" branchCourse="right" type="ordinarySwitch">
          <name name="69W03" language="en"/>
          <spotLocation id="swi02_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4.500"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b01b03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
          <rightBranch netRelationRef="nr_b03b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
        <switchIS id="swi03" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="69W04" language="en"/>
          <spotLocation id="swi03_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4.550"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b02b05" branchingSpeed="60" joiningSpeed="60" radius="0"/>
          <rightBranch netRelationRef="nr_b02b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
      </switchesIS>
      
      <tracks>
        <track id="trc01" type="mainTrack">
          <name name="2" language="en"/>
          <linearLocation id="trc01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus01"/>
          <trackEnd ref="swi01"/>
          <length value="500.0" type="physical"/>
        </track>
        <track id="trc02" type="secondaryTrack">
          <name name="1" language="en"/>
          <linearLocation id="trc02_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a02" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus02"/>
          <trackEnd ref="swi01"/>
          <length value="500.0" type="physical"/>
        </track>
        <track id="trc03" type="mainTrack">
          <linearLocation id="trc03_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true" sequence="1" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true" sequence="2" posBegin="0.0" posEnd="3600.0">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true" sequence="3" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi01"/>
          <trackEnd ref="swi02"/>
          <length value="4000.0" type="physical"/>
        </track>
        <track id="trc04" type="mainTrack">
          <name name="2" language="en"/>
          <linearLocation id="trc04_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi02"/>
          <trackEnd ref="bus03"/>
          <length type="physical" value="500.0"/>
        </track>
        <track id="trc05" type="secondaryTrack">
          <name name="1" language="en"/>
          <linearLocation id="trc05_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b02" keepsOrientation="true" posBegin="0.0" posEnd="450.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi03"/>
          <trackEnd ref="bus04"/>
          <length value="450.0" type="physical"/>
        </track>
        <track id="trc06" type="sidingTrack">
          <linearLocation id="trc06_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b05" keepsOrientation="true" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus05"/>
          <trackEnd ref="swi03"/>
          <length value="200.0" type="physical"/>
        </track>
        <track id="trc07" type="connectingTrack">
          <linearLocation id="trc07_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b04" keepsOrientation="true" posBegin="0.0" posEnd="50.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi02"/>
          <trackEnd ref="swi03"/>
          <length value="50.0" type="physical"/>
        </track>
      </tracks>
      
      <trainDetectionElements>
        <trainDetectionElement id="tde01" type="axleCounter">
          <spotLocation id="tde01_sloc01" netElementRef="ne_a01" applicationDirection="both" pos="475.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde02" type="axleCounter">
          <spotLocation id="tde02_sloc01" netElementRef="ne_a02" applicationDirection="both" pos="475.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde03" type="axleCounter">
          <spotLocation id="tde03_sloc01" netElementRef="ne_a03" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde04" type="axleCounter">
          <spotLocation id="tde04_sloc01" netElementRef="ne_a03" applicationDirection="both" pos="200.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde05" type="axleCounter">
          <spotLocation id="tde05_sloc01" netElementRef="ne_b03" applicationDirection="both" pos="0.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde06" type="insulatedRailJoint">
          <spotLocation id="tde06_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="0.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde07" type="insulatedRailJoint">
          <spotLocation id="tde07_sloc01" netElementRef="ne_b03" applicationDirection="both" pos="150.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde08" type="insulatedRailJoint">
          <spotLocation id="tde08_sloc01" netElementRef="ne_b01" applicationDirection="both" pos="75.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde09" type="insulatedRailJoint">
          <spotLocation id="tde09_sloc01" netElementRef="ne_b04" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde10" type="insulatedRailJoint">
          <spotLocation id="tde10_sloc01" netElementRef="ne_b02" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde11" type="insulatedRailJoint" detectedObject="axle">
          <spotLocation id="tde11_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="100.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde12" type="axleCounter">
          <spotLocation id="tde12_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde13" type="axleCounter">
          <spotLocation id="tde13_sloc01" netElementRef="ne_x01" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
      </trainDetectionElements>
    </functionalInfrastructure>

    <infrastructureStates>
      <infrastructureState id="iss01" value="operational">
        <name name="operational infrastructure 2018" language="en"/>
        <elementState id="ess01" refersToElement="lcr01" value="operational">
          <name name="levelCrossing in operation" language="en"/>
          <validityTime>
            <periodBitmask fromDate="2018-01-01" bitmask="1111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100">
              <periodRule>
                <period from="06:00:00" to="22:00:00"/>
              </periodRule>
            </periodBitmask>
          </validityTime>
        </elementState>
      </infrastructureState>
    </infrastructureStates>
    
  </infrastructure>
  

</railML>

Splitting

Arnau

Bf Arnau covers net element a11 on the mesoscopic level of aggregation. In this file a11 and all the topology aggregated into a11 and all the functional IS referring to a11 and aggregated topology are extracted from Simple example (link to the railML® website).

<?xml version="1.0" encoding="UTF-8"?>
<railML xmlns="https://www.railml.org/schemas/3.1" 
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml="http://www.opengis.net/gml/3.2/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://www.railml.org/schemas/3.1 https://www.railml.org/schemas/3.1/railml3.xsd"
        version="3.1">
  <metadata>
    <dc:format>3.1</dc:format>
    <dc:identifier>3</dc:identifier>
    <dc:source>railML.org</dc:source>
    <dc:title xml:lang="en">Simple Example v12 railML 3.1</dc:title>
    <dc:language>en</dc:language>
    <dc:creator xml:lang="de">railML.org</dc:creator>
    <dc:creator xml:lang="de">Dr. Jörg von Lingen</dc:creator>
    <dc:description>This example file has been coded manually and therefore may not be free of errors.</dc:description>
    <dc:rights>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.
      This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivatives 4.0 International License with additional license conditions of railML.org.
      For further information see: https://www.railml.org/licence
      Content of this file: railML 3.1 Simple Example</dc:rights>
  </metadata>
	
<!-- Bf Arnau covers net element a11 on the mesoscopic level of aggregation. In this file a11 and all the topology aggregated into a11 and
all the functional IS referring to a11 and aggregated topology are extracted from Simple example-->

  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
    <speedProfiles>
      <speedProfile id="spp01" influence="increasing"></speedProfile>
    </speedProfiles>
    <positioning>
		
<!-- linear positioning system should have UUID and be consistent with semantic constraint IS 016 -->

      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>

    </positioning>
  </common>
  
  <infrastructure id="is_01">
    <topology>
      <netElements>
        <netElement id="ne_a01" length="500.0">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a01a03"/>
          <associatedPositioningSystem id="ne_a01_aps01">
            <intrinsicCoordinate id="ne_a01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a02" length="500.0">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a02a03"/>
          <associatedPositioningSystem id="ne_a02_aps01">
            <intrinsicCoordinate id="ne_a02_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a02_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a03" length="200.0">
          <relation ref="nr_a01a03"/>
          <relation ref="nr_a02a03"/>
          <relation ref="nr_connector1ne_a03"/>
          <associatedPositioningSystem id="ne_a03_aps01">
            <intrinsicCoordinate id="ne_a03_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a03_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net element of microscopic level-->
        <netElement id="connector1">
          <relation ref="nr_connector1ne_a03"/>
          <associatedPositioningSystem id="connector1_aps01">
            <intrinsicCoordinate id="connector1_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <netElement id="ne_a11">
          <relation ref="nr_connector2ne_a11"/>
          <elementCollectionUnordered id="ne_a11_ecu01">
            <elementPart ref="ne_a01"/>
            <elementPart ref="ne_a02"/>
            <elementPart ref="ne_a03"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_a11_aps01">
            <intrinsicCoordinate id="ne_a11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net element of mesoscopic level-->
        <netElement id="connector2">
          <relation ref="nr_connector2ne_a11"/>
          <elementCollectionUnordered id="connecto2_ecu01">
						<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
            <elementPart ref="connector1"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="connector2_aps01">
            <intrinsicCoordinate id="connector_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

      </netElements>

      <netRelations>
        <netRelation id="nr_a01a02" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a02"/>
        </netRelation>
        <netRelation id="nr_a01a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_a02a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a02"/>
          <elementB ref="ne_a03"/>
        </netRelation>

        <!-- connector net relation of microscopic level-->
        <netRelation id="nr_connector1ne_a03" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector1"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <!-- connector net relation of mesoscopic level-->
        <netRelation id="nr_connector2ne_a11" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector2"/>
          <elementB ref="ne_a11"/>
        </netRelation>

      </netRelations>
   
      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">
            <networkResource ref="ne_a01"/>
            <networkResource ref="ne_a02"/>
            <networkResource ref="ne_a03"/>
            <networkResource ref="connector1"/>

            <networkResource ref="nr_a01a02"/>
            <networkResource ref="nr_a01a03"/>
            <networkResource ref="nr_a02a03"/>

            <networkResource ref="nr_connector1ne_a03"/>

          </level>
          <level id="lv1" descriptionLevel="Meso">
            <networkResource ref="ne_a11"/>
            <networkResource ref="connector2"/>

            <networkResource ref="nr_connector2ne_a11"/>

          </level>
        </network>
      </networks>
    </topology>
    
    <geometry>
    </geometry>
    
    <functionalInfrastructure>
      <bufferStops>
        <bufferStop id="bus01" type="fixedBufferStop">
          <spotLocation id="bus01_sloc01" netElementRef="ne_a01" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus02" type="fixedBufferStop">
          <spotLocation id="bus02_sloc01" netElementRef="ne_a02" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>

      </bufferStops>

      
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">

          <linearLocation id="lin01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="0.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
<!-- associated net elements referring to x11 b11 are not extracted because are not aggregated into a11. 
Thus line and all the children should have UUIDs or keys for successful merge -->
          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>

<!-- loading gauge is extracted because line refers to it -->
      <loadingGauges>
        <loadingGauge id="log01" code="GA"/>
      </loadingGauges>
      
      <operationalPoints>
        <operationalPoint id="opp01">
          <name name="Bf Arnau" language="de"/>
          <name name="Adamov" language="cz"/>
          <spotLocation id="opp01_sloc01" netElementRef="ne_a11" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="300.0"/>
          </spotLocation>
          <designator register="_SimpleRegister" entry="OAR"/>
          <infrastructureManagerRef ref="im_01"/>
          <opEquipment>
            <ownsPlatform ref="plf01"/>
            <ownsSignal ref="sig01"/>
            <ownsSignal ref="sig02"/>
            <ownsSignal ref="sig03"/>
          </opEquipment>
          <opOperations>
            <opOperation operationalType="station" trafficType="passenger"/>
          </opOperations> 
        </operationalPoint>

<!-- opp02 is extracted because line from endsInOp refers to it -->

        <operationalPoint id="opp02">
        </operationalPoint>

      </operationalPoints>
      
      <overCrossings>
        <overCrossing constructionType="tunnel" id="tun01">
          <linearLocation applicationDirection="both" id="tun01_lloc01">
            <associatedNetElement keepsOrientation="true" netElementRef="ne_a01">
              <linearCoordinateBegin measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="500.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
            <associatedNetElement keepsOrientation="true" netElementRef="ne_a03">
              <linearCoordinateBegin measure="500.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="700.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
<!-- associated net element referring to x01 is not extracted because is not aggregated into a11. 
Thus tunnel and all the children should have UUIDs or keys for successful merge -->
          </linearLocation>
        </overCrossing>
      </overCrossings>
			
      <platforms>
        <platform id="plf01">
          <spotLocation id="plf01_sloc01" netElementRef="ne_a11" applicationDirection="both">
            <linearCoordinate measure="300.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple01"/>
          <ownsPlatformEdge ref="ple02"/>
        </platform>

        <platform id="ple01" height="550">
          <name name="Gleis 3" language="de"/>
          <linearLocation id="ple01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true" posBegin="200.0" posEnd="400.0">
              <linearCoordinateBegin measure="200.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="right"/>
              <linearCoordinateEnd measure="400.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="right"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple02" height="550">
          <name name="Gleis 2" language="de"/>
          <linearLocation id="ple02_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a02" keepsOrientation="true" posBegin="200.0" posEnd="400.0">
              <linearCoordinateBegin measure="200.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="left"/>
              <linearCoordinateEnd measure="400.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="left"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>

      </platforms>
      
      <signalsIS>
        <signalIS id="sig01" isSwitchable="false">
          <name name="68N2" language="en"/>
          <spotLocation id="sig01_sloc01" netElementRef="ne_a01" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="450.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig02" isSwitchable="false">
          <name name="68N1" language="en"/>
          <spotLocation id="sig02_sloc01" netElementRef="ne_a02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="450.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig03" isSwitchable="false">
          <name name="68F" language="en"/>
          <spotLocation id="sig03_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="700.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>

        <signalIS id="sig09" isSwitchable="false">
          <spotLocation id="sig09_sloc01" netElementRef="ne_a03" applicationDirection="normal" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps01"/>
          </isSpeedSignal>
        </signalIS>

      </signalsIS>
      
      <speeds>
        <speedSection id="sps01" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps01_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="600.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
<!-- associated net elements referring to x01 b03 and b01 are not extracted because are not aggregated into a11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->

          </linearLocation>
          <validForSpeedProfile ref="spp01"/>
        </speedSection>
        <speedSection id="sps02" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps02_lloc01" applicationDirection="reverse">
<!-- associated net elements referring to x01 b03 are not extracted because are not aggregated into a11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="500.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="500.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="0.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>

      </speeds>
      
      <switchesIS>
        <switchIS id="swi01" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="68W02" language="en"/>
          <spotLocation id="swi01_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_a02a03" branchingSpeed="60" joiningSpeed="60" radius="-500"/>
          <rightBranch netRelationRef="nr_a01a03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
        </switchIS>
        <!-- switch with incomplete data is extracted because trc03 refers to it from trackEnd -->
        <switchIS id="swi02"/>
      </switchesIS>
      
      <tracks>
        <track id="trc01" type="mainTrack">
          <name name="2" language="en"/>
          <linearLocation id="trc01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus01"/>
          <trackEnd ref="swi01"/>
          <length value="500.0" type="physical"/>
        </track>
        <track id="trc02" type="secondaryTrack">
          <name name="1" language="en"/>
          <linearLocation id="trc02_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a02" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus02"/>
          <trackEnd ref="swi01"/>
          <length value="500.0" type="physical"/>
        </track>
        <track id="trc03" type="mainTrack">
          <linearLocation id="trc03_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true" sequence="1" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
<!-- associated net elements referring to x01 b03 are not extracted because are not aggregated into a11. 
Thus track and all the children should have UUIDs or keys for successful merge -->
          </linearLocation>
          <trackBegin ref="swi01"/>
          <trackEnd ref="swi02"/>
          <length value="4000.0" type="physical"/>
        </track>

      </tracks>
      
      <trainDetectionElements>
        <trainDetectionElement id="tde01" type="axleCounter">
          <spotLocation id="tde01_sloc01" netElementRef="ne_a01" applicationDirection="both" pos="475.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde02" type="axleCounter">
          <spotLocation id="tde02_sloc01" netElementRef="ne_a02" applicationDirection="both" pos="475.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde03" type="axleCounter">
          <spotLocation id="tde03_sloc01" netElementRef="ne_a03" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde04" type="axleCounter">
          <spotLocation id="tde04_sloc01" netElementRef="ne_a03" applicationDirection="both" pos="200.0">
          </spotLocation>
        </trainDetectionElement>

      </trainDetectionElements>
    </functionalInfrastructure>
    
  </infrastructure>
  

</railML>

Cstadt

Bf Cstadt covers <netElement> b11 on the mesoscopic level of aggregation. In this file b11 and all the topology aggregated into b11 and all the functional IS referring to b11 and aggregated topology are extracted from Simple example (link to the railML® website).

<?xml version="1.0" encoding="UTF-8"?>
<railML xmlns="https://www.railml.org/schemas/3.1" 
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml="http://www.opengis.net/gml/3.2/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://www.railml.org/schemas/3.1 https://www.railml.org/schemas/3.1/railml3.xsd"
        version="3.1">
  <metadata>
    <dc:format>3.1</dc:format>
    <dc:identifier>3</dc:identifier>
    <dc:source>railML.org</dc:source>
    <dc:title xml:lang="en">Simple Example v12 railML 3.1</dc:title>
    <dc:language>en</dc:language>
    <dc:creator xml:lang="de">railML.org</dc:creator>
    <dc:creator xml:lang="de">Dr. Jörg von Lingen</dc:creator>
    <dc:description>This example file has been coded manually and therefore may not be free of errors.</dc:description>
    <dc:rights>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.
      This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivatives 4.0 International License with additional license conditions of railML.org.
      For further information see: https://www.railml.org/licence
      Content of this file: railML 3.1 Simple Example</dc:rights>
  </metadata>
<!-- Bf Cstadt covers net element b11 on the mesoscopic level of aggregation. In this file b11 and all the topology aggregated into b11 and
all the functional IS referring to b11 and aggregated topology are extracted from Simple example-->
  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
    <speedProfiles>
      <speedProfile id="spp01" influence="increasing"></speedProfile>
    </speedProfiles>
    <positioning>

      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>

    </positioning>
  </common>
  
  <infrastructure id="is_01">
    <topology>
      <netElements>

        <netElement id="ne_b01" length="500.0">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b01b04"/>
          <associatedPositioningSystem id="ne_b01_aps01">
            <intrinsicCoordinate id="ne_b01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b02" length="450.0">
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b02b05"/>
          <associatedPositioningSystem id="ne_b02_aps01">
            <intrinsicCoordinate id="ne_b02_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b02_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b03" length="200.0">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_ne_b03connector3"/>
          <associatedPositioningSystem id="ne_b03_aps01">
            <intrinsicCoordinate id="ne_b03_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b03_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b04" length="50.0">
          <relation ref="nr_b01b04"/>
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_b04b05"/>
          <associatedPositioningSystem id="ne_b04_aps01">
            <intrinsicCoordinate id="ne_b04_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b05" length="200.0">
          <relation ref="nr_b02b05"/>
          <relation ref="nr_b04b05"/>
          <associatedPositioningSystem id="ne_b05_aps01">
            <intrinsicCoordinate id="ne_b05_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b05_aps01_ic02" intrinsicCoord="1">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net element of microscopic level-->
        <netElement id="connector3">
          <relation ref="nr_ne_b03connector3"/>
          <associatedPositioningSystem id="connector3_aps01">
            <intrinsicCoordinate id="connector3_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <netElement id="ne_b11">
          <relation ref="nr_ne_b11connector4"/>
          <elementCollectionUnordered id="ne_b11_ecu01">
            <elementPart ref="ne_b01"/>
            <elementPart ref="ne_b02"/>
            <elementPart ref="ne_b03"/>
            <elementPart ref="ne_b04"/>
            <elementPart ref="ne_b05"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_b11_aps01">
            <intrinsicCoordinate id="ne_b11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="5000.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net element of mesoscopic level-->
        <netElement id="connector4">
          <relation ref="nr_ne_b11connector4"/>
          <elementCollectionUnordered id="connector4_ecu01">
            <elementPart ref="connector3"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="connector4_aps01">
            <intrinsicCoordinate id="connector_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

      </netElements>

      <netRelations>

        <netRelation id="nr_b01b03" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b03"/>
        </netRelation>
        <netRelation id="nr_b01b04" positionOnA="0" positionOnB="0" navigability="None">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b04" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b05" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_b03b04" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_b03"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b04b05" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_b04"/>
          <elementB ref="ne_b05"/>
        </netRelation>

        <!-- connector net relation of microscopic level-->
        <netRelation id="nr_ne_b03connector3" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b03"/>
          <elementB ref="connector3"/>
        </netRelation>
        <!-- connector net relation of mesoscopic level-->
        <netRelation id="nr_ne_b11connector4" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b11"/>
          <elementB ref="connector4"/>
        </netRelation>

      </netRelations>
   
      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">

            <networkResource ref="ne_b01"/>
            <networkResource ref="ne_b02"/>
            <networkResource ref="ne_b03"/>
            <networkResource ref="ne_b04"/>
            <networkResource ref="ne_b05"/>
            <networkResource ref="connector3"/>


            <networkResource ref="nr_b01b03"/>
            <networkResource ref="nr_b01b04"/>
            <networkResource ref="nr_b02b04"/>
            <networkResource ref="nr_b02b05"/>
            <networkResource ref="nr_b03b04"/>
            <networkResource ref="nr_b04b05"/>
            <networkResource ref="nr_ne_b03connector3"/>

          </level>
          <level id="lv1" descriptionLevel="Meso">
            <networkResource ref="ne_b11"/>
            <networkResource ref="connector4"/>

            <networkResource ref="nr_ne_b11connector4"/>

          </level>
        </network>
      </networks>
    </topology>
    
    <geometry>
    </geometry>
    
    <functionalInfrastructure>
      <bufferStops>

        <bufferStop id="bus03" type="fixedBufferStop">
          <spotLocation id="bus03_sloc01" netElementRef="ne_b01" applicationDirection="normal" pos="500.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus04" type="fixedBufferStop">
          <spotLocation id="bus04_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus05" type="sleeperCross">
          <spotLocation id="bus05_sloc01" netElementRef="ne_b05" applicationDirection="reverse" pos="0.0">
          </spotLocation>
        </bufferStop>
      </bufferStops>
      
      <derailersIS>
        <derailerIS id="der01" derailSide="right">
          <spotLocation id="der01_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="150.0">
          </spotLocation>
        </derailerIS>
      </derailersIS>
      
      
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">

          <linearLocation id="lin01_lloc01" applicationDirection="both">
<!-- associated net elements referring to x11 a11 are not extracted because are not aggregated into b11. 
Thus line and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_b11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>
<!-- loading gauge is extracted because line refers to it -->
      <loadingGauges>
        <loadingGauge id="log01" code="GA"/>
      </loadingGauges>
			
      <operationalPoints>
        <operationalPoint id="opp01">
<!-- opp02 is extracted because line from beginsInOp refers to it -->

        </operationalPoint>
        <operationalPoint id="opp02">
          <name name="Bf Cstadt" language="de"/>
          <name name="Bouzov" language="cz"/>
          <spotLocation id="opp02_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="4700.0"/>
          </spotLocation>
          <designator register="_SimpleRegister" entry="OCS"/>
          <infrastructureManagerRef ref="im_01"/>
          <opEquipment>
            <ownsPlatform ref="plf02"/>
            <ownsPlatform ref="plf03"/>
            <ownsSignal ref="sig04"/>
            <ownsSignal ref="sig05"/>
            <ownsSignal ref="sig06"/>
          </opEquipment>
          <opOperations>
            <opOperation operationalType="station" trafficType="passenger"/>
          </opOperations> 
        </operationalPoint>
      </operationalPoints>
      
      <platforms>

        <platform id="plf02">
          <spotLocation id="plf02_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate measure="4700.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple03"/>
        </platform>
        <platform id="plf03">
          <spotLocation id="plf03_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate measure="4700.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple04"/>
        </platform>

        <platform id="ple03" height="550">
          <name name="Gleis 2" language="de"/>
          <linearLocation id="ple03_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true" posBegin="150.0" posEnd="350.0">
              <linearCoordinateBegin measure="4650.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="4850.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple04" height="380">
          <name name="Gleis 1" language="de"/>
          <linearLocation id="ple04_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b02" keepsOrientation="true" posBegin="100.0" posEnd="350.0">
              <linearCoordinateBegin measure="4650.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="4900.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="250.00" validForDirection="both"/>
        </platform>
      </platforms>
      
      <signalsIS>
        <signalIS id="sig04" isSwitchable="true">
          <name name="69A" language="en"/>
          <spotLocation id="sig04_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4300.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig05" isSwitchable="true">
          <name name="69P2" language="en"/>
          <spotLocation id="sig05_sloc01" netElementRef="ne_b01" applicationDirection="reverse" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4600.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig06" isSwitchable="true">
          <name name="69P1" language="en"/>
          <spotLocation id="sig06_sloc01" netElementRef="ne_b02" applicationDirection="reverse" pos="50.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4600.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>

        <signalIS id="sig08" isSwitchable="true">
          <name name="69W04Y" language="en"/>
          <spotLocation id="sig08_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="100.0">
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>

        <signalIS id="sig10" isSwitchable="false">
          <spotLocation id="sig10_sloc01" netElementRef="ne_b03" applicationDirection="reverse" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4400.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps02"/>
          </isSpeedSignal>
        </signalIS>

      </signalsIS>
      
      <speeds>
        <speedSection id="sps01" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps01_lloc01" applicationDirection="normal">
<!-- associated net elements referring to x01 a03 are not extracted because are not aggregated into b11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4500.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4500.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <validForSpeedProfile ref="spp01"/>
        </speedSection>
        <speedSection id="sps02" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps02_lloc01" applicationDirection="reverse">
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
<!-- associated net elements referring to x01 a03 and a01 are not extracted because are not aggregated into b11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
          </linearLocation>
        </speedSection>

      </speeds>
      
      <switchesIS>
          <!-- switch with incomplete data is extracted because trc03 refers to it from trackBegin -->
        <switchIS id="swi01"/>
        <switchIS id="swi02" continueCourse="left" branchCourse="right" type="ordinarySwitch">
          <name name="69W03" language="en"/>
          <spotLocation id="swi02_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4.500"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b01b03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
          <rightBranch netRelationRef="nr_b03b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
        <switchIS id="swi03" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="69W04" language="en"/>
          <spotLocation id="swi03_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4.550"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b02b05" branchingSpeed="60" joiningSpeed="60" radius="0"/>
          <rightBranch netRelationRef="nr_b02b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
      </switchesIS>
      
      <tracks>

        <track id="trc03" type="mainTrack">
          <linearLocation id="trc03_lloc01" applicationDirection="both">
<!-- associated net elements referring to x01 a03 are not extracted because are not aggregated into b11. 
Thus track and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true" sequence="3" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi01"/>
          <trackEnd ref="swi02"/>
          <length value="4000.0" type="physical"/>
        </track>
        <track id="trc04" type="mainTrack">
          <name name="2" language="en"/>
          <linearLocation id="trc04_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi02"/>
          <trackEnd ref="bus03"/>
          <length type="physical" value="500.0"/>
        </track>
        <track id="trc05" type="secondaryTrack">
          <name name="1" language="en"/>
          <linearLocation id="trc05_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b02" keepsOrientation="true" posBegin="0.0" posEnd="450.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi03"/>
          <trackEnd ref="bus04"/>
          <length value="450.0" type="physical"/>
        </track>
        <track id="trc06" type="sidingTrack">
          <linearLocation id="trc06_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b05" keepsOrientation="true" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus05"/>
          <trackEnd ref="swi03"/>
          <length value="200.0" type="physical"/>
        </track>
        <track id="trc07" type="connectingTrack">
          <linearLocation id="trc07_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b04" keepsOrientation="true" posBegin="0.0" posEnd="50.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi02"/>
          <trackEnd ref="swi03"/>
          <length value="50.0" type="physical"/>
        </track>
      </tracks>
      
      <trainDetectionElements>

        <trainDetectionElement id="tde05" type="axleCounter">
          <spotLocation id="tde05_sloc01" netElementRef="ne_b03" applicationDirection="both" pos="0.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde06" type="insulatedRailJoint">
          <spotLocation id="tde06_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="0.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde07" type="insulatedRailJoint">
          <spotLocation id="tde07_sloc01" netElementRef="ne_b03" applicationDirection="both" pos="150.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde08" type="insulatedRailJoint">
          <spotLocation id="tde08_sloc01" netElementRef="ne_b01" applicationDirection="both" pos="75.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde09" type="insulatedRailJoint">
          <spotLocation id="tde09_sloc01" netElementRef="ne_b04" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde10" type="insulatedRailJoint">
          <spotLocation id="tde10_sloc01" netElementRef="ne_b02" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde11" type="insulatedRailJoint" detectedObject="axle">
          <spotLocation id="tde11_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="100.0">
          </spotLocation>
        </trainDetectionElement>

      </trainDetectionElements>
    </functionalInfrastructure>
    
  </infrastructure>
  

</railML>

Line section

Bf Arnau covers <netElement> a11 and Bf Cstadt covers b11. a11 and b11 are both linked to x11. Thus in this file x11 and all the topology aggregated into x11 and all the functional IS referring to x11 and aggregated topology are extracted from Simple example (link to the railML® website).

<?xml version="1.0" encoding="UTF-8"?>
<railML xmlns="https://www.railml.org/schemas/3.1" 
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml="http://www.opengis.net/gml/3.2/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://www.railml.org/schemas/3.1 https://www.railml.org/schemas/3.1/railml3.xsd"
        version="3.1">
  <metadata>
    <dc:format>3.1</dc:format>
    <dc:identifier>3</dc:identifier>
    <dc:source>railML.org</dc:source>
    <dc:title xml:lang="en">Simple Example v12 railML 3.1</dc:title>
    <dc:language>en</dc:language>
    <dc:creator xml:lang="de">railML.org</dc:creator>
    <dc:creator xml:lang="de">Dr. Jörg von Lingen</dc:creator>
    <dc:description>This example file has been coded manually and therefore may not be free of errors.</dc:description>
    <dc:rights>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.
      This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivatives 4.0 International License with additional license conditions of railML.org.
      For further information see: https://www.railml.org/licence
      Content of this file: railML 3.1 Simple Example</dc:rights>
  </metadata>
<!-- Bf Arnau covers net element a11 and Bf Cstadt covers b11. a11 and b11 are both linked to x11. Thus in this file x11 
and all the topology aggregated into x11 and all the functional IS referring to 
x11 and aggregated topology are extracted from Simple example -->
  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
    <speedProfiles>
      <speedProfile id="spp01" influence="increasing"></speedProfile>
    </speedProfiles>
    <positioning>
<!-- linear positioning system should have UUID and be consistent with semantic constraint IS 016 -->
      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>

    </positioning>
  </common>
  
  <infrastructure id="is_01">
    <topology>
      <netElements>

        <netElement id="ne_x01" length="3600.0">
          <relation ref="nr_ne_x01connector1"/>
          <relation ref="nr_connector3ne_x01"/>
          <associatedPositioningSystem id="ne_x01_aps01">
            <intrinsicCoordinate id="ne_x01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net elements of microscopic level-->
        <netElement id="connector1">
          <relation ref="nr_ne_x01connector1"/>
          <associatedPositioningSystem id="connector1_aps01">
            <intrinsicCoordinate id="connector1_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
				
        <netElement id="connector3">
          <relation ref="nr_connector3ne_x01"/>
          <associatedPositioningSystem id="connector3_aps01">
            <intrinsicCoordinate id="connector3_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>

        <netElement id="ne_x11">
          <relation ref="nr_ne_x11connector2"/>
          <relation ref="nr_connector4ne_x11"/>
          <elementCollectionOrdered id="ne_x11_ecu01">
            <elementPart ref="ne_x01"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="ne_x11_aps01">
            <intrinsicCoordinate id="ne_x11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x11_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <!-- connector net elements of mesoscopic level-->
        <netElement id="connector2">
          <relation ref="nr_ne_x11connector2"/>
					<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
          <elementCollectionOrdered id="connector2_ecu01">
            <elementPart ref="connector1"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="connector2_aps01">
            <intrinsicCoordinate id="connector2_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <netElement id="connector4">
          <relation ref="nr_connector4ne_x11"/>
					<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
          <elementCollectionOrdered id="connector4_ecu01">
            <elementPart ref="connector3"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="connector4_aps01">
            <intrinsicCoordinate id="connector4_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
      </netElements>

      <netRelations>
        <!-- connector net relations of microscopic level-->
        <netRelation id="nr_ne_x01connector1" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_x01"/>
          <elementB ref="connector1"/>
        </netRelation>
        <netRelation id="nr_connector3ne_x01" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector3"/>
          <elementB ref="ne_x01"/>
        </netRelation>				
        <!-- connector net relations of mesoscopic level-->
        <netRelation id="nr_ne_x11connector2" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_x11"/>
          <elementB ref="connector2"/>
        </netRelation>
        <netRelation id="nr_connector4ne_x11" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector4"/>
          <elementB ref="ne_x11"/>
        </netRelation>
			</netRelations>

      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">

            <networkResource ref="ne_x01"/>
            <networkResource ref="connector1"/>
            <networkResource ref="connector3"/>
						
            <networkResource ref="nr_ne_x01connector1"/>
            <networkResource ref="nr_connector3ne_x01"/>

						
          </level>
          <level id="lv1" descriptionLevel="Meso">

            <networkResource ref="ne_x11"/>
            <networkResource ref="connector2"/>
            <networkResource ref="connector4"/>

            <networkResource ref="nr_ne_x11connector2"/>
            <networkResource ref="nr_connector4ne_x11"/>
          </level>
        </network>
      </networks>
    </topology>
    
    <geometry>
    </geometry>
    
    <functionalInfrastructure>

      

      
      <levelCrossingsIS>
        <levelCrossingIS id="lcr01" activation="infrastructureAutomatic">
          <name name="LX Arnau Cstadt" language="en"/>
          <spotLocation id="lcr01_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1800.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2500.00"/>
          </spotLocation>
          <protection barriers="singleHalfBarrier" lights="none" acoustic="none"/>
        </levelCrossingIS>
      </levelCrossingsIS>
      
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">

          <linearLocation id="lin01_lloc01" applicationDirection="both">
<!-- associated net elements referring to a11 b11 are not extracted because are not aggregated into a11. 
Thus line and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_x11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>

          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>
      
<!-- loading gauge is extracted because line refers to it -->
      <loadingGauges>
        <loadingGauge id="log01" code="GA"/>
      </loadingGauges>
<!-- opp01 and opp02 are extracted because line from beginsInOp and endsInOp refers to it. Thus should have UUIDs -->

      <operationalPoints>
        <operationalPoint id="opp01">
        </operationalPoint>
        <operationalPoint id="opp02">
        </operationalPoint>
      </operationalPoints>
      
      <overCrossings>
        <overCrossing constructionType="tunnel" id="tun01">
          <linearLocation applicationDirection="both" id="tun01_lloc01">
<!-- associated net elements referring to a01, a3 are not extracted because are not aggregated into x11. 
Thus tunnel and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement keepsOrientation="true" netElementRef="ne_x01">
              <linearCoordinateBegin measure="700.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="800.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
        </overCrossing>
      </overCrossings>
			
      <signalsIS>

        <signalIS id="sig07" isSwitchable="true">
          <name name="69Va" language="en"/>
          <spotLocation id="sig07_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="2900.0">
            <linearCoordinate positioningSystemRef="lps01" measure="3600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>

        <signalIS id="sig11" isSwitchable="false">
          <spotLocation id="sig11_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1300.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2000.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="announcement" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig12" isSwitchable="false">
          <spotLocation id="sig12_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig13" isSwitchable="false">
          <spotLocation id="sig13_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1850.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="endOfTrain">
            <refersToEndOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
      </signalsIS>
      
      <speeds>
        <speedSection id="sps01" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps01_lloc01" applicationDirection="normal">

<!-- associated net elements referring to a03, b03 and b01 are not extracted because are not aggregated into x11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>

          </linearLocation>
          <validForSpeedProfile ref="spp01"/>
        </speedSection>
        <speedSection id="sps02" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps02_lloc01" applicationDirection="reverse">
<!-- associated net elements referring to a03, b03 and a01 are not extracted because are not aggregated into x11. 
Thus speed section and all the children should have UUIDs or keys for successful merge -->
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>

          </linearLocation>
        </speedSection>
        <speedSection id="sps03" maxSpeed="20" isTemporary="true" isSignalized="true">
          <isValid from="2018-12-15" to="2018-12-22"/>
          <linearLocation id="sps03_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="2400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="2550.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>
      </speeds>
<!-- swi01 and swi02 are extracted because track from trackBegin and trackEnd refers to it. Thus should have UUIDs -->
      <switchesIS>
        <switchIS id="swi01">
        </switchIS>
        <switchIS id="swi02">
        </switchIS>

      </switchesIS>
      
      <tracks>

        <track id="trc03" type="mainTrack">
          <linearLocation id="trc03_lloc01" applicationDirection="both">

            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true" sequence="2" posBegin="0.0" posEnd="3600.0">
            </associatedNetElement>
<!-- associated net elements referring to a01 b03 are not extracted because are not aggregated into x11. 
Thus track and all the children should have UUIDs or keys for successful merge -->
          </linearLocation>
          <trackBegin ref="swi01"/>
          <trackEnd ref="swi02"/>
          <length value="4000.0" type="physical"/>
        </track>

      </tracks>
      
      <trainDetectionElements>

        <trainDetectionElement id="tde12" type="axleCounter">
          <spotLocation id="tde12_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde13" type="axleCounter">
          <spotLocation id="tde13_sloc01" netElementRef="ne_x01" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
      </trainDetectionElements>
    </functionalInfrastructure>

    <infrastructureStates>
      <infrastructureState id="iss01" value="operational">
        <name name="operational infrastructure 2018" language="en"/>
        <elementState id="ess01" refersToElement="lcr01" value="operational">
          <name name="levelCrossing in operation" language="en"/>
          <validityTime>
            <periodBitmask fromDate="2018-01-01" bitmask="1111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100">
              <periodRule>
                <period from="06:00:00" to="22:00:00"/>
              </periodRule>
            </periodBitmask>
          </validityTime>
        </elementState>
      </infrastructureState>
    </infrastructureStates>
    
  </infrastructure>
  

</railML>

Merging

After merging files back, list of <associatedNetElement>s of <linearLocation>s of split functional IS includes also connector <netElement>s.

<?xml version="1.0" encoding="UTF-8"?>
<railML xmlns="https://www.railml.org/schemas/3.1" 
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:gml="http://www.opengis.net/gml/3.2/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="https://www.railml.org/schemas/3.1 https://www.railml.org/schemas/3.1/railml3.xsd"
        version="3.1">
  <metadata>
    <dc:format>3.1</dc:format>
    <dc:identifier>3</dc:identifier>
    <dc:source>railML.org</dc:source>
    <dc:title xml:lang="en">Simple Example v12 railML 3.1</dc:title>
    <dc:language>en</dc:language>
    <dc:creator xml:lang="de">railML.org</dc:creator>
    <dc:creator xml:lang="de">Dr. Jörg von Lingen</dc:creator>
    <dc:description>This example file has been coded manually and therefore may not be free of errors.</dc:description>
    <dc:rights>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.
      This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivatives 4.0 International License with additional license conditions of railML.org.
      For further information see: https://www.railml.org/licence
      Content of this file: railML 3.1 Simple Example</dc:rights>
  </metadata>
<!-- this is result of merging a line section and two stations back together -->
  <common id="co_01">
    <organizationalUnits>
      <infrastructureManager id="im_01" code="SZDC"/>
    </organizationalUnits>
    <speedProfiles>
      <speedProfile id="spp01" influence="increasing"></speedProfile>
    </speedProfiles>
    <positioning>
      <geometricPositioningSystems>
        <geometricPositioningSystem id="gps01" crsDefinition="epsg:4326">
          <name name="WGS84" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </geometricPositioningSystem>
        <geometricPositioningSystem id="gps02" crsDefinition="epsg:25832">
          <name name="ETRS89_UTMzone32N" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </geometricPositioningSystem>
      </geometricPositioningSystems>
      <linearPositioningSystems>
        <linearPositioningSystem id="lps01" units="m" startMeasure="0.0" endMeasure="5000.0" linearReferencingMethod="absolute">
          <name name="railway line 6869 mileage" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </linearPositioningSystem>
      </linearPositioningSystems>
      <screenPositioningSystems>
        <screenPositioningSystem pxX="1024" pxY="768" id="scs01">
          <name name="screen visualization coordinate system" language="en"/>
          <isValid from="2018-01-01" to="2018-12-31"/>
        </screenPositioningSystem>
      </screenPositioningSystems>
    </positioning>
  </common>
  
  <infrastructure id="is_01">
    <topology>
      <netElements>
        <netElement id="ne_a01" length="500.0">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a01a03"/>
          <associatedPositioningSystem id="ne_a01_aps01">
            <intrinsicCoordinate id="ne_a01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a02" length="500.0">
          <relation ref="nr_a01a02"/>
          <relation ref="nr_a02a03"/>
          <associatedPositioningSystem id="ne_a02_aps01">
            <intrinsicCoordinate id="ne_a02_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a02_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_a03" length="200.0">
          <relation ref="nr_a01a03"/>
          <relation ref="nr_a02a03"/>
<!-- <relation ref="nr_a03x01"/> is replaced by connector netRelation-->
          <relation ref="nr_connector1ne_a03"/>
          <associatedPositioningSystem id="ne_a03_aps01">
            <intrinsicCoordinate id="ne_a03_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_a03_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b01" length="500.0">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b01b04"/>
          <associatedPositioningSystem id="ne_b01_aps01">
            <intrinsicCoordinate id="ne_b01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b02" length="450.0">
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b02b05"/>
          <associatedPositioningSystem id="ne_b02_aps01">
            <intrinsicCoordinate id="ne_b02_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b02_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b03" length="200.0">
          <relation ref="nr_b01b03"/>
          <relation ref="nr_b03b04"/>
<!-- <relation ref="nr_x01b03"/> is replaced by connector net relation -->
          <relation ref="nr_ne_b03connector3"/>
          <associatedPositioningSystem id="ne_b03_aps01">
            <intrinsicCoordinate id="ne_b03_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b03_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b04" length="50.0">
          <relation ref="nr_b01b04"/>
          <relation ref="nr_b02b04"/>
          <relation ref="nr_b03b04"/>
          <relation ref="nr_b04b05"/>
          <associatedPositioningSystem id="ne_b04_aps01">
            <intrinsicCoordinate id="ne_b04_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="4500.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b04_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4550.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b05" length="200.0">
          <relation ref="nr_b02b05"/>
          <relation ref="nr_b04b05"/>
          <associatedPositioningSystem id="ne_b05_aps01">
            <intrinsicCoordinate id="ne_b05_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_b05_aps01_ic02" intrinsicCoord="1">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_x01" length="3600.0">
<!--      <relation ref="nr_a03x01"/> and
          <relation ref="nr_x01b03"/> are replaced by connector net relations -->
          <relation ref="nr_ne_x01connector1"/>
          <relation ref="nr_connector3ne_x01"/>
          <associatedPositioningSystem id="ne_x01_aps01">
            <intrinsicCoordinate id="ne_x01_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate positioningSystemRef="lps01" measure="700.0"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x01_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate positioningSystemRef="lps01" measure="4300.0"/>
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
				
        <!-- connector net elements of microscopic level-->
        <netElement id="connector1">
          <relation ref="nr_ne_x01connector1"/>
          <relation ref="nr_connector1ne_a03"/>
          <associatedPositioningSystem id="connector1_aps01">
            <intrinsicCoordinate id="connector1_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>
				
        <netElement id="connector3">
          <relation ref="nr_connector3ne_x01"/>
          <relation ref="nr_ne_b03connector3"/>
          <associatedPositioningSystem id="connector3_aps01">
            <intrinsicCoordinate id="connector3_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
          </associatedPositioningSystem>
        </netElement>				
				
				
        <netElement id="ne_a11">
<!-- <relation ref="nr_a11x11"/> is replaced by connector net relation -->
          <relation ref="nr_connector2ne_a11"/>
          <elementCollectionUnordered id="ne_a11_ecu01">
            <elementPart ref="ne_a01"/>
            <elementPart ref="ne_a02"/>
            <elementPart ref="ne_a03"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_a11_aps01">
            <intrinsicCoordinate id="ne_a11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_b11">
<!-- <relation ref="nr_x11b11"/> is replaced by connector net relation -->
          <relation ref="nr_ne_b11connector4"/>
          <elementCollectionUnordered id="ne_b11_ecu01">
            <elementPart ref="ne_b01"/>
            <elementPart ref="ne_b02"/>
            <elementPart ref="ne_b03"/>
            <elementPart ref="ne_b04"/>
            <elementPart ref="ne_b05"/>
          </elementCollectionUnordered>
          <associatedPositioningSystem id="ne_b11_aps01">
            <intrinsicCoordinate id="ne_b11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
              <linearCoordinate measure="5000.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
        <netElement id="ne_x11">
<!--      <relation ref="nr_a11x11"/> and
          <relation ref="nr_x11b11"/> are replaced by connector net relations -->
          <elementCollectionOrdered id="ne_x11_ecu01">
            <elementPart ref="ne_x01"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="ne_x11_aps01">
            <intrinsicCoordinate id="ne_x11_aps01_ic01" intrinsicCoord="0">
              <linearCoordinate measure="700.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <intrinsicCoordinate id="ne_x11_aps01_ic02" intrinsicCoord="1">
              <linearCoordinate measure="4300.0" positioningSystemRef="lps01"/>
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
				
        <!-- connector net elements of mesoscopic level-->
        <netElement id="connector2">
          <relation ref="nr_ne_x11connector2"/>
          <relation ref="nr_connector2ne_a11"/>
					<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
          <elementCollectionOrdered id="connector2_ecu01">
            <elementPart ref="connector1"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="connector2_aps01">
            <intrinsicCoordinate id="connector2_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>

        <netElement id="connector4">
          <relation ref="nr_connector4ne_x11"/>
          <relation ref="nr_ne_b11connector4"/>
					<!-- connector net element of mesoscopic level aggregates the one of microscopic level -->
          <elementCollectionOrdered id="connector4_ecu01">
            <elementPart ref="connector3"/>
          </elementCollectionOrdered>
          <associatedPositioningSystem id="connector4_aps01">
            <intrinsicCoordinate id="connector4_aps01_ic01" intrinsicCoord="0">
            </intrinsicCoordinate>
            <isValid from="2018-01-01" to="2018-12-31" />
          </associatedPositioningSystem>
        </netElement>
				
      </netElements>

      <netRelations>
        <netRelation id="nr_a01a02" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a02"/>
        </netRelation>
        <netRelation id="nr_a01a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a01"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_a02a03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a02"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_b01b03" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b03"/>
        </netRelation>
        <netRelation id="nr_b01b04" positionOnA="0" positionOnB="0" navigability="None">
          <elementA ref="ne_b01"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b04" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b02b05" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b02"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_b03b04" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_b03"/>
          <elementB ref="ne_b04"/>
        </netRelation>
        <netRelation id="nr_b04b05" positionOnA="1" positionOnB="1" navigability="None">
          <elementA ref="ne_b04"/>
          <elementB ref="ne_b05"/>
        </netRelation>
        <netRelation id="nr_a03x01" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_a03"/>
          <elementB ref="ne_x01"/>
        </netRelation>
        <netRelation id="nr_x01b03" positionOnA="1" positionOnB="0" navigability="Both">
          <elementA ref="ne_x01"/>
          <elementB ref="ne_b03"/>
        </netRelation>

				
        <!-- connector net relation of microscopic level-->
        <netRelation id="nr_ne_b03connector3" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b03"/>
          <elementB ref="connector3"/>
        </netRelation>
        <netRelation id="nr_connector3ne_x01" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector3"/>
          <elementB ref="ne_x01"/>
        </netRelation>		
        <netRelation id="nr_connector1ne_a03" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector1"/>
          <elementB ref="ne_a03"/>
        </netRelation>
        <netRelation id="nr_ne_x01connector1" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_x01"/>
          <elementB ref="connector1"/>
        </netRelation>
        <!-- connector net relation of mesoscopic level-->
        <netRelation id="nr_ne_b11connector4" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_b11"/>
          <elementB ref="connector4"/>
        </netRelation>
        <netRelation id="nr_connector4ne_x11" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector4"/>
          <elementB ref="ne_x11"/>
        </netRelation>
        <netRelation id="nr_connector2ne_a11" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="connector2"/>
          <elementB ref="ne_a11"/>
        </netRelation>
        <netRelation id="nr_ne_x11connector2" positionOnA="0" positionOnB="1" navigability="Both">
          <elementA ref="ne_x11"/>
          <elementB ref="connector2"/>
        </netRelation>

      </netRelations>
   
      <networks>
        <network id="nw01">
          <level id="lv0" descriptionLevel="Micro">
            <networkResource ref="ne_a01"/>
            <networkResource ref="ne_a02"/>
            <networkResource ref="ne_a03"/>
            <networkResource ref="ne_b01"/>
            <networkResource ref="ne_b02"/>
            <networkResource ref="ne_b03"/>
            <networkResource ref="ne_b04"/>
            <networkResource ref="ne_b05"/>
            <networkResource ref="ne_x01"/>
						
            <networkResource ref="connector1"/>
            <networkResource ref="connector3"/>
						
            <networkResource ref="nr_a01a02"/>
            <networkResource ref="nr_a01a03"/>
            <networkResource ref="nr_a02a03"/>
            <networkResource ref="nr_b01b03"/>
            <networkResource ref="nr_b01b04"/>
            <networkResource ref="nr_b02b04"/>
            <networkResource ref="nr_b02b05"/>
            <networkResource ref="nr_b03b04"/>
            <networkResource ref="nr_b04b05"/>
						
            <networkResource ref="nr_ne_x01connector1"/>
            <networkResource ref="nr_connector1ne_a03"/>

            <networkResource ref="nr_connector3ne_x01"/>
            <networkResource ref="nr_ne_b03connector3"/>

          </level>
          <level id="lv1" descriptionLevel="Meso">
            <networkResource ref="ne_a11"/>
						
            <networkResource ref="connector2"/>
            <networkResource ref="connector4"/>
						
            <networkResource ref="ne_b11"/>
            <networkResource ref="ne_x11"/>

            <networkResource ref="nr_ne_x11connector2"/>
            <networkResource ref="nr_connector2ne_a11"/>

            <networkResource ref="nr_connector4ne_x11"/>
            <networkResource ref="nr_ne_b11connector4"/>

						
          </level>
        </network>
      </networks>
    </topology>
    
    <geometry>
    </geometry>
    
    <functionalInfrastructure>
      <bufferStops>
        <bufferStop id="bus01" type="fixedBufferStop">
          <spotLocation id="bus01_sloc01" netElementRef="ne_a01" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus02" type="fixedBufferStop">
          <spotLocation id="bus02_sloc01" netElementRef="ne_a02" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="0.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus03" type="fixedBufferStop">
          <spotLocation id="bus03_sloc01" netElementRef="ne_b01" applicationDirection="normal" pos="500.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus04" type="fixedBufferStop">
          <spotLocation id="bus04_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="5000.0"/>
          </spotLocation>
        </bufferStop>
        <bufferStop id="bus05" type="sleeperCross">
          <spotLocation id="bus05_sloc01" netElementRef="ne_b05" applicationDirection="reverse" pos="0.0">
          </spotLocation>
        </bufferStop>
      </bufferStops>
      
      <derailersIS>
        <derailerIS id="der01" derailSide="right">
          <spotLocation id="der01_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="150.0">
          </spotLocation>
        </derailerIS>
      </derailersIS>
      
      <levelCrossingsIS>
        <levelCrossingIS id="lcr01" activation="infrastructureAutomatic">
          <name name="LX Arnau Cstadt" language="en"/>
          <spotLocation id="lcr01_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1800.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2500.00"/>
          </spotLocation>
          <protection barriers="singleHalfBarrier" lights="none" acoustic="none"/>
        </levelCrossingIS>
      </levelCrossingsIS>
      
      <lines>
        <line id="lin01" lineCategory="other:CE" lineType="mainLine" infrastructureManagerRef="im_01">
          <name name="Malý příklad železniční tratě" language="cz"/>
          <name name="Kleine Beispielstrecke" language="de"/>
          <name name="Simple Example railway line" language="en"/>
          <name name="Ejemplo Simple de Linea Ferroviaria" language="es"/>
          <name name="Petit Exemple Ligne Ferroviaire" language="fr"/>
          <name name="Semplice Esempio di Stazione/Linea Ferroviaria" language="it"/>
          <name name="Lille eksempelbanen" language="no"/>
          <name name="Lilla Exempellinjen" language="se"/>
          <linearLocation id="lin01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="0.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector2" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector4" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b11" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <beginsInOP ref="opp01"/>
          <endsInOP ref="opp02"/>
          <lineLayout numberOfTracks="single"/>
          <linePerformance usablePlatformLength="200" maxSpeed="80">
            <allowedLoadingGauge ref="log01"/>
          </linePerformance>
        </line>
      </lines>
      
      <loadingGauges>
        <loadingGauge id="log01" code="GA"/>
      </loadingGauges>
      
      <operationalPoints>
        <operationalPoint id="opp01">
          <name name="Bf Arnau" language="de"/>
          <name name="Adamov" language="cz"/>
          <spotLocation id="opp01_sloc01" netElementRef="ne_a11" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="300.0"/>
          </spotLocation>
          <designator register="_SimpleRegister" entry="OAR"/>
          <infrastructureManagerRef ref="im_01"/>
          <opEquipment>
            <ownsPlatform ref="plf01"/>
            <ownsSignal ref="sig01"/>
            <ownsSignal ref="sig02"/>
            <ownsSignal ref="sig03"/>
          </opEquipment>
          <opOperations>
            <opOperation operationalType="station" trafficType="passenger"/>
          </opOperations> 
        </operationalPoint>
        <operationalPoint id="opp02">
          <name name="Bf Cstadt" language="de"/>
          <name name="Bouzov" language="cz"/>
          <spotLocation id="opp02_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="4700.0"/>
          </spotLocation>
          <designator register="_SimpleRegister" entry="OCS"/>
          <infrastructureManagerRef ref="im_01"/>
          <opEquipment>
            <ownsPlatform ref="plf02"/>
            <ownsPlatform ref="plf03"/>
            <ownsSignal ref="sig04"/>
            <ownsSignal ref="sig05"/>
            <ownsSignal ref="sig06"/>
          </opEquipment>
          <opOperations>
            <opOperation operationalType="station" trafficType="passenger"/>
          </opOperations> 
        </operationalPoint>
      </operationalPoints>
      
      <overCrossings>
        <overCrossing constructionType="tunnel" id="tun01">
          <linearLocation applicationDirection="both" id="tun01_lloc01">
            <associatedNetElement keepsOrientation="true" netElementRef="ne_a01">
              <linearCoordinateBegin measure="0.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="500.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
            <associatedNetElement keepsOrientation="true" netElementRef="ne_a03">
              <linearCoordinateBegin measure="500.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="700.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector1" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement keepsOrientation="true" netElementRef="ne_x01">
              <linearCoordinateBegin measure="700.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="800.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
        </overCrossing>
      </overCrossings>
			
      <platforms>
        <platform id="plf01">
          <spotLocation id="plf01_sloc01" netElementRef="ne_a11" applicationDirection="both">
            <linearCoordinate measure="300.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple01"/>
          <ownsPlatformEdge ref="ple02"/>
        </platform>
        <platform id="plf02">
          <spotLocation id="plf02_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate measure="4700.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple03"/>
        </platform>
        <platform id="plf03">
          <spotLocation id="plf03_sloc01" netElementRef="ne_b11" applicationDirection="both">
            <linearCoordinate measure="4700.0" positioningSystemRef="lps01"/>
          </spotLocation>
          <ownsPlatformEdge ref="ple04"/>
        </platform>
        <platform id="ple01" height="550">
          <name name="Gleis 3" language="de"/>
          <linearLocation id="ple01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true" posBegin="200.0" posEnd="400.0">
              <linearCoordinateBegin measure="200.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="right"/>
              <linearCoordinateEnd measure="400.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="right"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple02" height="550">
          <name name="Gleis 2" language="de"/>
          <linearLocation id="ple02_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a02" keepsOrientation="true" posBegin="200.0" posEnd="400.0">
              <linearCoordinateBegin measure="200.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="left"/>
              <linearCoordinateEnd measure="400.0" positioningSystemRef="lps01" lateralDistance="1.7" lateralSide="left"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple03" height="550">
          <name name="Gleis 2" language="de"/>
          <linearLocation id="ple03_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true" posBegin="150.0" posEnd="350.0">
              <linearCoordinateBegin measure="4650.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="4850.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="200.00" validForDirection="both"/>
        </platform>
        <platform id="ple04" height="380">
          <name name="Gleis 1" language="de"/>
          <linearLocation id="ple04_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b02" keepsOrientation="true" posBegin="100.0" posEnd="350.0">
              <linearCoordinateBegin measure="4650.0" positioningSystemRef="lps01"/>
              <linearCoordinateEnd measure="4900.0" positioningSystemRef="lps01"/>
            </associatedNetElement>
          </linearLocation>
          <length type="physical" value="250.00" validForDirection="both"/>
        </platform>
      </platforms>
      
      <signalsIS>
        <signalIS id="sig01" isSwitchable="false">
          <name name="68N2" language="en"/>
          <spotLocation id="sig01_sloc01" netElementRef="ne_a01" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="450.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig02" isSwitchable="false">
          <name name="68N1" language="en"/>
          <spotLocation id="sig02_sloc01" netElementRef="ne_a02" applicationDirection="normal" pos="450.0">
            <linearCoordinate positioningSystemRef="lps01" measure="450.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig03" isSwitchable="false">
          <name name="68F" language="en"/>
          <spotLocation id="sig03_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="700.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isEtcsSignal/>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig04" isSwitchable="true">
          <name name="69A" language="en"/>
          <spotLocation id="sig04_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4300.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig05" isSwitchable="true">
          <name name="69P2" language="en"/>
          <spotLocation id="sig05_sloc01" netElementRef="ne_b01" applicationDirection="reverse" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4600.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig06" isSwitchable="true">
          <name name="69P1" language="en"/>
          <spotLocation id="sig06_sloc01" netElementRef="ne_b02" applicationDirection="reverse" pos="50.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4600.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig07" isSwitchable="true">
          <name name="69Va" language="en"/>
          <spotLocation id="sig07_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="2900.0">
            <linearCoordinate positioningSystemRef="lps01" measure="3600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig08" isSwitchable="true">
          <name name="69W04Y" language="en"/>
          <spotLocation id="sig08_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="100.0">
          </spotLocation>
          <isTrainMovementSignal/>
        </signalIS>
        <signalIS id="sig09" isSwitchable="false">
          <spotLocation id="sig09_sloc01" netElementRef="ne_a03" applicationDirection="normal" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="600.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps01"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig10" isSwitchable="false">
          <spotLocation id="sig10_sloc01" netElementRef="ne_b03" applicationDirection="reverse" pos="100.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4400.0" lateralDistance="2.2" lateralSide="left"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps02"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig11" isSwitchable="false">
          <spotLocation id="sig11_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1300.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2000.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="announcement" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig12" isSwitchable="false">
          <spotLocation id="sig12_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="headOfTrain">
            <refersToBeginOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
        <signalIS id="sig13" isSwitchable="false">
          <spotLocation id="sig13_sloc01" netElementRef="ne_x01" applicationDirection="normal" pos="1850.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralDistance="2.2" lateralSide="right"/>
          </spotLocation>
          <isSpeedSignal type="execution" trainRelation="endOfTrain">
            <refersToEndOfSpeedSection ref="sps03"/>
          </isSpeedSignal>
        </signalIS>
      </signalsIS>
      
      <speeds>
        <speedSection id="sps01" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps01_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="600.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector1" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector3" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4500.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4500.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="5000.0"/>
            </associatedNetElement>
          </linearLocation>
          <validForSpeedProfile ref="spp01"/>
        </speedSection>
        <speedSection id="sps02" maxSpeed="80" isTemporary="false" isSignalized="true">
          <linearLocation id="sps02_lloc01" applicationDirection="reverse">
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="4300.0"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector3" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="4300.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="700.0"/>
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector1" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="700.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="500.0"/>
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="500.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="0.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>
        <speedSection id="sps03" maxSpeed="20" isTemporary="true" isSignalized="true">
          <isValid from="2018-12-15" to="2018-12-22"/>
          <linearLocation id="sps03_lloc01" applicationDirection="normal">
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true">
              <linearCoordinateBegin positioningSystemRef="lps01" measure="2400.0"/>
              <linearCoordinateEnd positioningSystemRef="lps01" measure="2550.0"/>
            </associatedNetElement>
          </linearLocation>
        </speedSection>
      </speeds>
      
      <switchesIS>
        <switchIS id="swi01" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="68W02" language="en"/>
          <spotLocation id="swi01_sloc01" netElementRef="ne_a03" applicationDirection="reverse" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="500.0"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_a02a03" branchingSpeed="60" joiningSpeed="60" radius="-500"/>
          <rightBranch netRelationRef="nr_a01a03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
        </switchIS>
        <switchIS id="swi02" continueCourse="left" branchCourse="right" type="ordinarySwitch">
          <name name="69W03" language="en"/>
          <spotLocation id="swi02_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="200.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4.500"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b01b03" branchingSpeed="80" joiningSpeed="80" radius="0"/>
          <rightBranch netRelationRef="nr_b03b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
        <switchIS id="swi03" continueCourse="right" branchCourse="left" type="ordinarySwitch">
          <name name="69W04" language="en"/>
          <spotLocation id="swi03_sloc01" netElementRef="ne_b02" applicationDirection="normal" pos="0.0">
            <linearCoordinate positioningSystemRef="lps01" measure="4.550"/>
          </spotLocation>
          <leftBranch netRelationRef="nr_b02b05" branchingSpeed="60" joiningSpeed="60" radius="0"/>
          <rightBranch netRelationRef="nr_b02b04" branchingSpeed="40" joiningSpeed="40" radius="300"/>
        </switchIS>
      </switchesIS>
      
      <tracks>
        <track id="trc01" type="mainTrack">
          <name name="2" language="en"/>
          <linearLocation id="trc01_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a01" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus01"/>
          <trackEnd ref="swi01"/>
          <length value="500.0" type="physical"/>
        </track>
        <track id="trc02" type="secondaryTrack">
          <name name="1" language="en"/>
          <linearLocation id="trc02_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a02" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus02"/>
          <trackEnd ref="swi01"/>
          <length value="500.0" type="physical"/>
        </track>
        <track id="trc03" type="mainTrack">
          <linearLocation id="trc03_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_a03" keepsOrientation="true" sequence="1" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector1" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_x01" keepsOrientation="true" sequence="2" posBegin="0.0" posEnd="3600.0">
            </associatedNetElement>
        <!-- linear location probably should not have any gaps. Therefore after merging covers also connectors -->
            <associatedNetElement netElementRef="connector3" keepsOrientation="true">
            </associatedNetElement>
            <associatedNetElement netElementRef="ne_b03" keepsOrientation="true" sequence="3" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi01"/>
          <trackEnd ref="swi02"/>
          <length value="4000.0" type="physical"/>
        </track>
        <track id="trc04" type="mainTrack">
          <name name="2" language="en"/>
          <linearLocation id="trc04_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b01" keepsOrientation="true" posBegin="0.0" posEnd="500.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi02"/>
          <trackEnd ref="bus03"/>
          <length type="physical" value="500.0"/>
        </track>
        <track id="trc05" type="secondaryTrack">
          <name name="1" language="en"/>
          <linearLocation id="trc05_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b02" keepsOrientation="true" posBegin="0.0" posEnd="450.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi03"/>
          <trackEnd ref="bus04"/>
          <length value="450.0" type="physical"/>
        </track>
        <track id="trc06" type="sidingTrack">
          <linearLocation id="trc06_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b05" keepsOrientation="true" posBegin="0.0" posEnd="200.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="bus05"/>
          <trackEnd ref="swi03"/>
          <length value="200.0" type="physical"/>
        </track>
        <track id="trc07" type="connectingTrack">
          <linearLocation id="trc07_lloc01" applicationDirection="both">
            <associatedNetElement netElementRef="ne_b04" keepsOrientation="true" posBegin="0.0" posEnd="50.0">
            </associatedNetElement>
          </linearLocation>
          <trackBegin ref="swi02"/>
          <trackEnd ref="swi03"/>
          <length value="50.0" type="physical"/>
        </track>
      </tracks>
      
      <trainDetectionElements>
        <trainDetectionElement id="tde01" type="axleCounter">
          <spotLocation id="tde01_sloc01" netElementRef="ne_a01" applicationDirection="both" pos="475.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde02" type="axleCounter">
          <spotLocation id="tde02_sloc01" netElementRef="ne_a02" applicationDirection="both" pos="475.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde03" type="axleCounter">
          <spotLocation id="tde03_sloc01" netElementRef="ne_a03" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde04" type="axleCounter">
          <spotLocation id="tde04_sloc01" netElementRef="ne_a03" applicationDirection="both" pos="200.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde05" type="axleCounter">
          <spotLocation id="tde05_sloc01" netElementRef="ne_b03" applicationDirection="both" pos="0.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde06" type="insulatedRailJoint">
          <spotLocation id="tde06_sloc01" netElementRef="ne_b03" applicationDirection="normal" pos="0.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde07" type="insulatedRailJoint">
          <spotLocation id="tde07_sloc01" netElementRef="ne_b03" applicationDirection="both" pos="150.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde08" type="insulatedRailJoint">
          <spotLocation id="tde08_sloc01" netElementRef="ne_b01" applicationDirection="both" pos="75.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde09" type="insulatedRailJoint">
          <spotLocation id="tde09_sloc01" netElementRef="ne_b04" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde10" type="insulatedRailJoint">
          <spotLocation id="tde10_sloc01" netElementRef="ne_b02" applicationDirection="both" pos="25.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde11" type="insulatedRailJoint" detectedObject="axle">
          <spotLocation id="tde11_sloc01" netElementRef="ne_b05" applicationDirection="normal" pos="100.0">
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde12" type="axleCounter">
          <spotLocation id="tde12_sloc01" netElementRef="ne_x01" applicationDirection="both" pos="1700.0">
            <linearCoordinate positioningSystemRef="lps01" measure="2400.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
        <trainDetectionElement id="tde13" type="axleCounter">
          <spotLocation id="tde13_sloc01" netElementRef="ne_x01" applicationDirection="both">
            <linearCoordinate positioningSystemRef="lps01" measure="2550.0" lateralSide="left"/>
          </spotLocation>
        </trainDetectionElement>
      </trainDetectionElements>
    </functionalInfrastructure>

    <infrastructureStates>
      <infrastructureState id="iss01" value="operational">
        <name name="operational infrastructure 2018" language="en"/>
        <elementState id="ess01" refersToElement="lcr01" value="operational">
          <name name="levelCrossing in operation" language="en"/>
          <validityTime>
            <periodBitmask fromDate="2018-01-01" bitmask="1111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100111110011111001111100">
              <periodRule>
                <period from="06:00:00" to="22:00:00"/>
              </periodRule>
            </periodBitmask>
          </validityTime>
        </elementState>
      </infrastructureState>
    </infrastructureStates>
    
  </infrastructure>
  

</railML>