init
This commit is contained in:
0
airflow/ods/lm/quarterly_adjustment/config/.gitkeep
Normal file
0
airflow/ods/lm/quarterly_adjustment/config/.gitkeep
Normal file
@@ -0,0 +1,82 @@
|
||||
tmpdir: /tmp
|
||||
inbox_prefix: INBOX/LM/QuarterlyRevaluationAdjustment
|
||||
archive_prefix: ARCHIVE/LM/QuarterlyRevaluationAdjustment
|
||||
workflow_name: w_ODS_LM_QUARTERLY_ADJUSTMENT_MSG
|
||||
validation_schema_path: '/opt/airflow/src/airflow/dags/ods/lm/quarterly_adjustment/config/quarterly_adjustment.xsd'
|
||||
file_type: xml
|
||||
|
||||
# List of tasks
|
||||
tasks:
|
||||
- task_name: m_ODS_LM_QUARTERLY_ADJUSTMENT_HEADER_PARSE
|
||||
ods_prefix: INBOX/LM/QuarterlyRevaluationAdjustment/LM_QRE_ADJUSTMENTS_HEADER
|
||||
output_table: LM_QRE_ADJUSTMENTS_HEADER
|
||||
namespaces:
|
||||
ns2: 'http://escb.ecb.int/csm-adjustment'
|
||||
output_columns:
|
||||
- type: 'xpath_element_id'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage'
|
||||
column_header: 'A_KEY'
|
||||
- type: 'workflow_key'
|
||||
column_header: 'A_WORKFLOW_HISTORY_KEY'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:header/ns2:year'
|
||||
column_header: 'YEAR'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:header/ns2:quarter'
|
||||
column_header: 'QUARTER'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:header/ns2:version'
|
||||
column_header: 'VERSION'
|
||||
is_key: 'N'
|
||||
- task_name: m_ODS_LM_QUARTERLY_ADJUSTMENT_ITEM_HEADER_PARSE
|
||||
ods_prefix: INBOX/LM/QuarterlyRevaluationAdjustment/LM_QRE_ADJUSTMENTS_ITEM_HEADER
|
||||
output_table: LM_QRE_ADJUSTMENTS_ITEM_HEADER
|
||||
namespaces:
|
||||
ns2: 'http://escb.ecb.int/csm-adjustment'
|
||||
output_columns:
|
||||
- type: 'xpath_element_id'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment'
|
||||
column_header: 'A_KEY'
|
||||
- type: 'workflow_key'
|
||||
column_header: 'A_WORKFLOW_HISTORY_KEY'
|
||||
- type: 'xpath_element_id'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage'
|
||||
column_header: 'A_HEADER_FK'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment/ns2:country'
|
||||
column_header: 'COUNTRY'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment/ns2:effectiveDate'
|
||||
column_header: 'EFFECTIVE_DATE'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment/ns2:lastDateNotInForecast'
|
||||
column_header: 'LAST_DATE_NOT_FORECAST'
|
||||
is_key: 'N'
|
||||
|
||||
- task_name: m_ODS_LM_QUARTERLY_ADJUSTMENT_ITEM_PARSE
|
||||
ods_prefix: INBOX/LM/QuarterlyRevaluationAdjustment/LM_QRE_ADJUSTMENTS_ITEM
|
||||
output_table: LM_QRE_ADJUSTMENTS_ITEM
|
||||
namespaces:
|
||||
ns2: 'http://escb.ecb.int/csm-adjustment'
|
||||
output_columns:
|
||||
- type: 'a_key'
|
||||
column_header: 'A_KEY'
|
||||
- type: 'workflow_key'
|
||||
column_header: 'A_WORKFLOW_HISTORY_KEY'
|
||||
- type: 'xpath_element_id'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment'
|
||||
column_header: 'A_HEADER_FK'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment/ns2:forecastItem/ns2:forecastName'
|
||||
column_header: 'FORECAST_NAME'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:adjustmentMessages/ns2:quarterlyRevaluationAdjustmentMessage/ns2:adjustment/ns2:forecastItem/ns2:adjustmentAmount'
|
||||
column_header: 'ADJUSTMENT_AMOUNT'
|
||||
is_key: 'N'
|
||||
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
<?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>
|
||||
Reference in New Issue
Block a user