diff --git a/schema/physicalUnits.xsd b/schema/physicalUnits.xsd index 1314b53dbebf17e6a6c843fce676c7e898742899..04d8aaa5770168e52aacbcebe23bfb4f15ac7794 100644 --- a/schema/physicalUnits.xsd +++ b/schema/physicalUnits.xsd @@ -12,24 +12,39 @@ <xs:include schemaLocation="genericRailML.xsd" /> <xs:simpleType name="tLength"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="6" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tLengthMM"> + <xs:annotation> + <xs:documentation>generic type for length values measured in millimeter</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tLength" /> </xs:simpleType> <xs:simpleType name="tLengthM"> + <xs:annotation> + <xs:documentation>generic type for length values measured in meter</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tLength" /> </xs:simpleType> <xs:simpleType name="tLengthKM"> + <xs:annotation> + <xs:documentation>generic type for length values measured in kilometer</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tLength" /> </xs:simpleType> <xs:simpleType name="tSpeed"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="1" /> <xs:minInclusive value="0" /> @@ -38,14 +53,23 @@ </xs:simpleType> <xs:simpleType name="tSpeedKmPerHour"> + <xs:annotation> + <xs:documentation>generic type for speed/velocity values measured in kilometer per hour</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tSpeed" /> </xs:simpleType> <xs:simpleType name="tSpeedMPerSec"> + <xs:annotation> + <xs:documentation>generic type for speed/velocity values measured in meter per second</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tSpeed" /> </xs:simpleType> <xs:simpleType name="tSpeedDegreesPerSecond"> + <xs:annotation> + <xs:documentation>generic type for angular speed/velocity values measured in degree per second</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> <xs:minInclusive value="0" /> @@ -53,16 +77,25 @@ </xs:simpleType> <xs:simpleType name="tAcceleration"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tAccelerationMeterPerSquareSec"> + <xs:annotation> + <xs:documentation>generic type for acceleration values measured in meter per square second</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tAcceleration" /> </xs:simpleType> <xs:simpleType name="tArea"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> <xs:minInclusive value="0" /> @@ -70,10 +103,16 @@ </xs:simpleType> <xs:simpleType name="tAreaSquareMeter"> + <xs:annotation> + <xs:documentation>generic type for area values measured in square meter</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tArea" /> </xs:simpleType> <xs:simpleType name="tVolume"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> <xs:minInclusive value="0" /> @@ -81,94 +120,151 @@ </xs:simpleType> <xs:simpleType name="tVolumeCubicMeter"> + <xs:annotation> + <xs:documentation>generic type for volume values measured in cubic meter</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tVolume" /> </xs:simpleType> <xs:simpleType name="tVolumeLitre"> + <xs:annotation> + <xs:documentation>generic type for volume values measured in litre</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tVolume" /> </xs:simpleType> <xs:simpleType name="tVoltage"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="1" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tVoltageVolt"> + <xs:annotation> + <xs:documentation>generic type for voltage values measured in volt</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tVoltage" /> </xs:simpleType> <xs:simpleType name="tResistance"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="4" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tResistanceOhm"> + <xs:annotation> + <xs:documentation>generic type for electric resistance values measured in ohm</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tResistance" /> </xs:simpleType> <xs:simpleType name="tInductance"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="6" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tInductanceHenry"> + <xs:annotation> + <xs:documentation>generic type for inductance values measured in henry</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tInductance" /> </xs:simpleType> <xs:simpleType name="tFlux"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="6" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tFluxVoltSecond"> + <xs:annotation> + <xs:documentation>generic type for electric flux values measured in volt*second</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tFlux" /> </xs:simpleType> <xs:simpleType name="tForce"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="0" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tForceNewton"> + <xs:annotation> + <xs:documentation>generic type for force values measured in newton</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tForce" /> </xs:simpleType> <xs:simpleType name="tPower"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="0" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tPowerWatt"> + <xs:annotation> + <xs:documentation>generic type for power values measured in watt</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tPower" /> </xs:simpleType> <xs:simpleType name="tEnergy"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tEnergyKiloWattHours"> + <xs:annotation> + <xs:documentation>generic type for energy values measured in kilowatt*hour</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tEnergy" /> </xs:simpleType> <xs:simpleType name="tCurrent"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="1" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tCurrentAmpere"> + <xs:annotation> + <xs:documentation>generic type for electric current values measured in ampere</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tCurrent" /> </xs:simpleType> <xs:simpleType name="tFrequency"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> <xs:minInclusive value="0" /> @@ -176,32 +272,53 @@ </xs:simpleType> <xs:simpleType name="tFrequencyHertz"> + <xs:annotation> + <xs:documentation>generic type for frequency values measured in hertz</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tFrequency" /> </xs:simpleType> <xs:simpleType name="tRotationalFrequency"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:positiveInteger" /> </xs:simpleType> <xs:simpleType name="tRotationalFrequencyRevolutionsPerMinute"> + <xs:annotation> + <xs:documentation>generic type for rotational frequency values measured in revolutions per minute</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tRotationalFrequency" /> </xs:simpleType> <xs:simpleType name="tWeight"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tWeightKG"> + <xs:annotation> + <xs:documentation>generic type for weight/load values measured in kilogram</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tWeight" /> </xs:simpleType> <xs:simpleType name="tWeightTons"> + <xs:annotation> + <xs:documentation>generic type for weight/load values measured in ton</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tWeight" /> </xs:simpleType> <xs:simpleType name="tAngleDeg"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> <xs:totalDigits value="6" /> @@ -211,6 +328,9 @@ </xs:simpleType> <xs:simpleType name="tAngleDegFullCircle"> + <xs:annotation> + <xs:documentation>generic type for angle values measured in degree, allowing -180 ... +180</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tAngleDeg"> <xs:minInclusive value="-180" /> <xs:maxInclusive value="180" /> @@ -218,19 +338,35 @@ </xs:simpleType> <xs:simpleType name="tAngleDegQuadrant"> + <xs:annotation> + <xs:documentation>generic type for angle values measured in degree, allowing 0 ... +90</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tAngleDeg"> <xs:minExclusive value="0" /> <xs:maxInclusive value="90" /> </xs:restriction> </xs:simpleType> - <xs:simpleType name="tGradientPromille"> + <xs:simpleType name="tGradient"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" /> </xs:restriction> </xs:simpleType> + <xs:simpleType name="tGradientPromille"> + <xs:annotation> + <xs:documentation>generic type for gradient values measured in per thousand/mill</xs:documentation> + </xs:annotation> + <xs:restriction base="rail:tGradient"/> + </xs:simpleType> + <xs:simpleType name="tRadiusM"> + <xs:annotation> + <xs:documentation>generic type for radius values measured in meter</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tLengthM" /> </xs:simpleType> diff --git a/schema/railwayUnits.xsd b/schema/railwayUnits.xsd index e018ab710fe0bf77b6a44bbfc6e7e378a96d1269..c1da4903aeda923e95d1d10f4eabbf1f5a314882 100644 --- a/schema/railwayUnits.xsd +++ b/schema/railwayUnits.xsd @@ -24,16 +24,25 @@ </xs:simpleType> <xs:simpleType name="tMeterload"> + <xs:annotation> + <xs:documentation>applies as basic type for inheritance, should not be used directly because of missing unit of measure</xs:documentation> + </xs:annotation> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="3" fixed="true" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="tMeterloadTonsPerMeter"> + <xs:annotation> + <xs:documentation>generic type for load per meter values measured in ton per meter</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tMeterload" /> </xs:simpleType> <xs:simpleType name="tDirValidity"> + <xs:annotation> + <xs:documentation>generic type for direction statements</xs:documentation> + </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="none" /> <xs:enumeration value="up" /> @@ -44,18 +53,34 @@ </xs:simpleType> <xs:simpleType name="tFlowDirection"> - <xs:restriction base="xs:string"> - <xs:enumeration value="in" /> - <xs:enumeration value="out" /> - <xs:enumeration value="both" /> - </xs:restriction> + <xs:annotation> + <xs:documentation>extensible generic type for flow statements</xs:documentation> + </xs:annotation> + <xs:union> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="in" /> + <xs:enumeration value="out" /> + <xs:enumeration value="both" /> + </xs:restriction> + </xs:simpleType> + <xs:simpleType> + <xs:restriction base="rail:tOtherEnumerationValue" /> + </xs:simpleType> + </xs:union> </xs:simpleType> <xs:simpleType name="tTrainCategory"> + <xs:annotation> + <xs:documentation>generic type for category names of trains; allowing digits, letters and whitespaces; length not limited</xs:documentation> + </xs:annotation> <xs:restriction base="xs:string" /> </xs:simpleType> <xs:simpleType name="tTrainAlignment"> + <xs:annotation> + <xs:documentation>generic type for the alignment of a train relative to some objective in the used context</xs:documentation> + </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="head" /> <xs:enumeration value="center" /> @@ -64,6 +89,9 @@ </xs:simpleType> <xs:simpleType name="tEffortNewton"> + <xs:annotation> + <xs:documentation>generic type for effort values measured in newton</xs:documentation> + </xs:annotation> <xs:restriction base="rail:tForceNewton" /> </xs:simpleType>