Newer
Older
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ -->

IS Coordination
committed
<xs:schema xmlns:railcode="https://www.railml.org/schemas/lists"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"

IS Coordination
committed
targetNamespace="https://www.railml.org/schemas/lists"
elementFormDefault="qualified"
version="1.0">
<xs:annotation>
<xs:documentation>Copyright (c) railML.org e.V. Dresden/Germany; All Rights Reserved.</xs:documentation>

IS Coordination
committed
<xs:documentation>This work is licensed under the restricted CreativeCommons Attribution-NonCommercial-NoDerivs 3.0 Unported License with additional license conditions of railML.org.</xs:documentation>

IS Coordination
committed
<xs:documentation>For further information see: https://www.railml.org/licence</xs:documentation>
<xs:documentation>Content of this file: XML Schema for railML(R) 2.4 (Definition of data types for the infrastructure manager code list)</xs:documentation>
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
</xs:annotation>
<xs:include schemaLocation="ListBaseTypes.xsd"/>
<xs:element name="infrastructureManagerCodes">
<xs:annotation>
<xs:documentation>Container/Root element for "infrastructure manager codes"</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="infrastructureManager" type="railcode:tInfrastructureManager" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Single entries for each infrastructure manager</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="tInfrastructureManager">
<xs:sequence>
<xs:element name="name" type="railcode:tI18NString" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Internationalized name of the infrastructure manager</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="validity" type="railcode:tValidity" minOccurs="0">
<xs:annotation>
<xs:documentation>If necessary, put time validity constraints here</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="isoCountryCode" type="railcode:tIsoCountryCode" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Two alpha ISO country code according to ISO 3166-1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="companyCode" type="railcode:tCompanyCode" minOccurs="0">
<xs:annotation>
<xs:documentation>company codes according TAF TAP TSI B.8 or UIC IRS/leaflet 920-1:2006</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="code" type="railcode:tCode">
<xs:annotation>
<xs:documentation>code, that should be referred to from within an railML file, typically a short name for the infrastructure manager in latin letters</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="tValidity">
<xs:attribute name="begin" type="xs:date">
<xs:annotation>
<xs:documentation>Start date of validity</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="end" type="xs:date">
<xs:annotation>
<xs:documentation>End date of validity</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:simpleType name="tIsoCountryCode">
<xs:restriction base="xs:string">
<xs:length value="2"/>
<xs:pattern value="[A-Z]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tCompanyCode">
<xs:restriction base="xs:string">
<xs:length value="4" />
<xs:pattern value="[0-9]{4}" />
</xs:restriction>
</xs:simpleType>
</xs:schema>