This commit is contained in:
Grzegorz Michalski
2026-03-02 09:47:35 +01:00
commit 2c225d68ac
715 changed files with 130067 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://escb.ecb.int/forecast"
xmlns:fc="http://escb.ecb.int/forecast"
xmlns:lm="http://exdi.ecb.int/lm"
targetNamespace="http://escb.ecb.int/forecast"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://exdi.ecb.int/lm" schemaLocation="../../lm_common/lm.xsd" />
<xs:element name="forecastMessage">
<xs:complexType>
<xs:sequence>
<xs:element name="cbForecast" type="cbForecast" minOccurs="1" maxOccurs="unbounded" />
<xs:element name="eurosystemForecast" type="eurosystemForecast" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="cbHeader">
<xs:complexContent>
<xs:extension base="eurosystemHeader">
<xs:sequence>
<xs:element name="freeText" type="lm:freeText" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="eurosystemHeader">
<xs:sequence>
<xs:element name="country" type="lm:isoCode" />
<xs:element name="referenceDate" type="xs:date" />
<xs:element name="version" type="lm:positiveInt" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="cbForecast">
<xs:annotation>
<xs:documentation>Represents an autonomous factor forecast for a CB
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="header" type="cbHeader" />
<xs:element ref="forecastItems" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="eurosystemForecast">
<xs:annotation>
<xs:documentation>Represents an aggregated autonomous factor forecast of all CBs
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="header" type="eurosystemHeader" />
<xs:element ref="forecastItems" />
</xs:sequence>
</xs:complexType>
<xs:element name="forecastItems">
<xs:complexType>
<xs:sequence>
<xs:element name="forecastItem" type="forecastItem" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:unique name="nameUnique">
<xs:selector xpath="fc:forecastItem" />
<xs:field xpath="./fc:forecastName" />
<xs:field xpath="./fc:forecastDate" />
</xs:unique>
</xs:element>
<xs:complexType name="forecastItem">
<xs:sequence>
<xs:element name="forecastDate" type="xs:date" />
<xs:element name="forecastName" type="lm:forecastName" />
<xs:element name="forecastValue" type="forecastValue" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="forecastValue">
<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:schema>

View File

@@ -0,0 +1,63 @@
# Global configurations
tmpdir: /tmp
inbox_prefix: INBOX/LM/EurosystemAutonomousFactorForecast
archive_prefix: ARCHIVE/LM/EurosystemAutonomousFactorForecast
workflow_name: w_ODS_LM_FORECAST
validation_schema_path: '/opt/airflow/src/airflow/dags/ods/lm/forecast/config/forecast.xsd'
file_type: xml
# List of tasks
tasks:
- task_name: m_ODS_LM_FORECAST_HEADER_PARSE
ods_prefix: INBOX/LM/EurosystemAutonomousFactorForecast/LM_FORECAST_HEADER
output_table: LM_FORECAST_HEADER
namespaces:
ns2: 'http://escb.ecb.int/forecast'
output_columns:
- type: 'xpath_element_id'
value: '/ns2:forecastMessage/ns2:*'
column_header: 'A_KEY'
- type: 'workflow_key'
column_header: 'A_WORKFLOW_HISTORY_KEY'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:header/ns2:country'
column_header: 'COUNTRY'
is_key: 'N'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:header/ns2:referenceDate'
column_header: 'REFERENCE_DATE'
is_key: 'N'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:header/ns2:version'
column_header: 'REVISION'
is_key: 'N'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:header/ns2:freeText'
column_header: 'FREE_TEXT'
is_key: 'N'
- task_name: m_ODS_LM_FORECAST_ITEM_PARSE
ods_prefix: INBOX/LM/EurosystemAutonomousFactorForecast/LM_FORECAST_ITEM
output_table: LM_FORECAST_ITEM
namespaces:
ns2: 'http://escb.ecb.int/forecast'
output_columns:
- type: 'a_key'
column_header: 'A_KEY'
- type: 'workflow_key'
column_header: 'A_WORKFLOW_HISTORY_KEY'
- type: 'xpath_element_id'
value: '/ns2:forecastMessage/ns2:*'
column_header: 'A_HEADER_FK'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:forecastItems/ns2:forecastItem/ns2:forecastDate'
column_header: 'FORECAST_DATE'
is_key: 'N'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:forecastItems/ns2:forecastItem/ns2:forecastName'
column_header: 'FORECAST_NAME'
is_key: 'N'
- type: 'xpath'
value: '/ns2:forecastMessage/ns2:*/ns2:forecastItems/ns2:forecastItem/ns2:forecastValue'
column_header: 'FORECAST_VALUE'
is_key: 'N'