diff --git a/schema/infrastructure.xsd b/schema/infrastructure.xsd index 3a5a225122b959a459d104095c5ade31421be62d..008231a4b9464246569be2e2a7bfe7c9fbb8032b 100644 --- a/schema/infrastructure.xsd +++ b/schema/infrastructure.xsd @@ -140,6 +140,20 @@ <xs:field xpath="@baliseGroupRef" /> </xs:keyref> + <xs:key name="trainProtectionElementKey"> + <xs:selector xpath=".//rail:trainProtectionElements/rail:trainProtectionElement" /> + <xs:field xpath="@id" /> + </xs:key> + <xs:keyref name="trainProtectionElement-trainProtectionElementGroupKeyref" refer="rail:trainProtectionElementKey"> + <xs:selector xpath=".//rail:trainProtectionElementGroup/rail:trainProtectionElementRef" /> + <xs:field xpath="@ref" /> + </xs:keyref> + + <xs:key name="trainProtectionElementGroupKey"> + <xs:selector xpath=".//rail:trainProtectionElementGroups/rail:trainProtectionElementGroup" /> + <xs:field xpath="@id" /> + </xs:key> + <xs:key name="controllerKey"> <xs:selector xpath=".//rail:controllers/rail:controller" /> <xs:field xpath="@id" /> @@ -939,6 +953,11 @@ <xs:documentation source="http://www.wiki.railml.org/index.php?title=IS:trainProtectionElement"/> </xs:annotation> </xs:element> + <xs:element name="trainProtectionElementGroup" type="rail:tTrainProtectionElementGroup" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="http://www.wiki.railml.org/index.php?title=IS:trainProtectionElementGroup" /> + </xs:annotation> + </xs:element> </xs:sequence> </xs:complexType> diff --git a/schema/infrastructureTypes.xsd b/schema/infrastructureTypes.xsd index 7ec1cc89d4c3197844b99fb11e573281ae873131..7eb9d6a061a7f2c4c67b5423052236c90f6cbf44 100644 --- a/schema/infrastructureTypes.xsd +++ b/schema/infrastructureTypes.xsd @@ -694,6 +694,20 @@ </xs:extension> </xs:complexContent> </xs:complexType> + + <xs:complexType name="tTrainProtectionElementGroup"> + <xs:complexContent> + <xs:extension base="rail:tElementWithIDAndName"> + <xs:sequence> + <xs:element name="trainProtectionElementRef" type="rail:tElementWithReference" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation source="http://www.wiki.railml.org/index.php?title=IS:trainProtectionElementRef" /> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> <xs:complexType name="tElectrification"> <xs:attributeGroup ref="rail:aElectrification" />