Files
mars-elt/airflow/ods/lm/adhoc_adjustments/config/adhoc_adjustments.xsd
Grzegorz Michalski 2c225d68ac init
2026-03-02 09:47:35 +01:00

130 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://escb.ecb.int/csm-adjustment"
xmlns:lm="http://exdi.ecb.int/lm"
targetNamespace="http://escb.ecb.int/csm-adjustment"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://exdi.ecb.int/lm" schemaLocation="../../lm_common/lm.xsd" />
<xs:element name="adjustmentMessages">
<xs:complexType>
<xs:choice>
<xs:element ref="csmAdjustmentMessage" />
<xs:element ref="quarterlyRevaluationAdjustmentMessage" />
<xs:element ref="adhocAdjustmentMessage" />
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="csmAdjustmentMessage">
<xs:complexType>
<xs:sequence>
<xs:element name="header">
<xs:complexType>
<xs:sequence>
<xs:element name="year" type="xs:gYear" />
<xs:element name="month" type="month" />
<xs:element name="version" type="lm:positiveInt" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="adjustment" type="adjustmentSingleForecast" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="quarterlyRevaluationAdjustmentMessage">
<xs:complexType>
<xs:sequence>
<xs:element name="header">
<xs:complexType>
<xs:sequence>
<xs:element name="year" type="xs:gYear" />
<xs:element name="quarter" type="quarter" />
<xs:element name="version" type="lm:positiveInt" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="adjustment" type="adjustmentMultipleForecasts" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="adhocAdjustmentMessage">
<xs:complexType>
<xs:sequence>
<xs:element name="header">
<xs:complexType>
<xs:sequence>
<xs:element name="date" type="xs:date" />
<xs:element name="version" type="lm:positiveInt" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="adjustment" type="adjustmentMultipleForecasts" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="baseAdjustment">
<xs:sequence>
<xs:element name="country" type="lm:isoCode" />
<xs:element name="effectiveDate" type="xs:date" />
<xs:element name="lastDateNotInForecast" type="xs:date" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="adjustmentSingleForecast">
<xs:complexContent>
<xs:extension base="baseAdjustment">
<xs:sequence>
<xs:element name="forecastItem" type="forecastItem" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="adjustmentMultipleForecasts">
<xs:complexContent>
<xs:extension base="baseAdjustment">
<xs:sequence>
<xs:element name="forecastItem" type="forecastItem" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="forecastItem">
<xs:sequence>
<xs:element name="forecastName" type="lm:forecastName" />
<xs:element name="adjustmentAmount" type="extendedDecimalEuroValue" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="extendedDecimalEuroValue">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="17" />
<xs:fractionDigits value="8" />
<xs:minInclusive value="-999999999.99999999" />
<xs:maxInclusive value="999999999.99999999" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="month">
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="12" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="quarter">
<xs:restriction base="xs:int">
<xs:minInclusive value="1" />
<xs:maxInclusive value="4" />
</xs:restriction>
</xs:simpleType>
</xs:schema>