init
This commit is contained in:
0
airflow/ods/lm/current_accounts/config/.gitkeep
Normal file
0
airflow/ods/lm/current_accounts/config/.gitkeep
Normal file
106
airflow/ods/lm/current_accounts/config/current_accounts.xsd
Normal file
106
airflow/ods/lm/current_accounts/config/current_accounts.xsd
Normal file
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://escb.ecb.int/ca"
|
||||
xmlns:lm="http://exdi.ecb.int/lm"
|
||||
targetNamespace="http://escb.ecb.int/ca"
|
||||
elementFormDefault="qualified"
|
||||
attributeFormDefault="unqualified">
|
||||
|
||||
<xs:import namespace="http://exdi.ecb.int/lm" schemaLocation="../../lm_common/lm.xsd" />
|
||||
|
||||
<xs:element name="currentAccountMrrMessage">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
<xs:element name="cbCurrentAccountMrr" type="cbCurrentAccountMrr" minOccurs="1" maxOccurs="unbounded" />
|
||||
<xs:element name="disaggregatedCurrentAccountMrr" type="disaggregatedCurrentAccountMrr" />
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:complexType name="cbCurrentAccountMrr">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Represents current accounts of a CB</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="header" type="cbHeader" />
|
||||
<xs:element name="currentAccountMrrs" type="currentAccountMrrs" minOccurs="0" maxOccurs="1" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="cbHeader">
|
||||
<xs:sequence>
|
||||
<xs:element name="country" type="lm:isoCode" />
|
||||
<xs:element name="referenceDate" type="xs:date" />
|
||||
<xs:element name="version" type="lm:positiveInt" />
|
||||
<xs:element name="periodicity" type="periodicity" />
|
||||
<xs:element name="freeText" type="lm:freeText" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="currentAccountMrrs">
|
||||
<xs:sequence>
|
||||
<xs:element name="currentAccountMrr" type="currentAccountMrr" minOccurs="1" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:group name="currentAccountMrrBase">
|
||||
<xs:sequence>
|
||||
<xs:element name="mfiCode" type="lm:mfiCode" />
|
||||
<xs:element name="bankName" type="lm:bankName" />
|
||||
<xs:element name="currentAccount" type="lm:decimalEuroValue" />
|
||||
<xs:element name="minimumReserveRequirement" type="lm:decimalEuroValue" />
|
||||
<xs:element name="comment" type="lm:comment" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
|
||||
<xs:complexType name="currentAccountMrr">
|
||||
<xs:group ref="currentAccountMrrBase" />
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="disaggregatedCurrentAccountMrr">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Represents the disaggregated current accounts</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:sequence>
|
||||
<xs:element name="header" type="disaggregatedHeader" />
|
||||
<xs:element name="currentAccountMrrs" type="disaggregatedCurrentAccountMrrs" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="disaggregatedHeader">
|
||||
<xs:sequence>
|
||||
<xs:element name="referenceDate" type="xs:date" />
|
||||
<xs:element name="version" type="lm:positiveInt" />
|
||||
<xs:element name="periodicity" type="periodicity" />
|
||||
<xs:element name="currentAccountBSTotal" type="lm:decimalEuroValue" />
|
||||
<xs:element name="mrrForecastTotal" type="lm:decimalEuroValue" />
|
||||
<xs:element name="currentAccountMessageTotal" type="lm:decimalEuroValue" />
|
||||
<xs:element name="mrrMessageTotal" type="lm:decimalEuroValue" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="disaggregatedCurrentAccountMrrs">
|
||||
<xs:sequence>
|
||||
<xs:element name="currentAccountMrr" type="currentAccountMrrDisaggregated" minOccurs="1" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="currentAccountMrrDisaggregated">
|
||||
<xs:sequence>
|
||||
<xs:element name="country" type="lm:isoCode" />
|
||||
<xs:group ref="currentAccountMrrBase" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:simpleType name="periodicity">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Annual" />
|
||||
<xs:enumeration value="Quarterly" />
|
||||
<xs:enumeration value="MaintenancePeriod" />
|
||||
<xs:enumeration value="Monthly" />
|
||||
<xs:enumeration value="Weekly" />
|
||||
<xs:enumeration value="Daily" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,91 @@
|
||||
tmpdir: /tmp
|
||||
inbox_prefix: INBOX/LM/MinimumReservesRequirements
|
||||
archive_prefix: ARCHIVE/LM/MinimumReservesRequirements
|
||||
workflow_name: w_ODS_LM_CURRENT_ACCOUNTS
|
||||
validation_schema_path: '/opt/airflow/src/airflow/dags/ods/lm/current_accounts/config/current_accounts.xsd'
|
||||
file_type: xml
|
||||
|
||||
# List of tasks
|
||||
tasks:
|
||||
- task_name: m_ODS_LM_CURRENT_ACCOUNTS_HEADER_PARSE
|
||||
ods_prefix: INBOX/LM/MinimumReservesRequirements/LM_CURRENT_ACCOUNTS_HEADER
|
||||
output_table: LM_CURRENT_ACCOUNTS_HEADER
|
||||
namespaces:
|
||||
ns2: http://escb.ecb.int/ca
|
||||
output_columns:
|
||||
- type: 'xpath_element_id'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr'
|
||||
column_header: 'A_KEY'
|
||||
- type: 'workflow_key'
|
||||
column_header: 'A_WORKFLOW_HISTORY_KEY'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:version'
|
||||
column_header: 'REVISION_NUMBER'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: 'ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:referenceDate'
|
||||
column_header: 'REFERENCE_DATE'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:freeText'
|
||||
column_header: 'FREE_TEXT'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:currentAccountBSTotal'
|
||||
column_header: 'CURRENT_ACCOUNT_BS_TOTAL'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:mrrForecastTotal'
|
||||
column_header: 'MRR_FORECAST_TOTAL'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:currentAccountMessageTotal'
|
||||
column_header: 'CURRENT_ACCOUNT_MESSAGE_TOTAL'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:mrrMessageTotal'
|
||||
column_header: 'MRR_MESSAGE_TOTAL'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:header/ns2:periodicity'
|
||||
column_header: 'PERIODICITY'
|
||||
is_key: 'N'
|
||||
|
||||
|
||||
- task_name: m_ODS_LM_CURRENT_ACCOUNTS_ITEM_PARSE
|
||||
ods_prefix: INBOX/LM/MinimumReservesRequirements/LM_CURRENT_ACCOUNTS_ITEM
|
||||
output_table: LM_CURRENT_ACCOUNTS_ITEM
|
||||
namespaces:
|
||||
ns2: http://escb.ecb.int/ca
|
||||
output_columns:
|
||||
- type: 'a_key'
|
||||
column_header: 'A_KEY'
|
||||
- type: 'workflow_key'
|
||||
column_header: 'A_WORKFLOW_HISTORY_KEY'
|
||||
- type: 'xpath_element_id'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr'
|
||||
column_header: 'A_HEADER_FK'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:currentAccountMrrs/ns2:currentAccountMrr'
|
||||
column_header: 'COUNTRY'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:currentAccountMrrs/ns2:currentAccountMrr/ns2:mfiCode'
|
||||
column_header: 'MFI_CODE'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:currentAccountMrrs/ns2:currentAccountMrr/ns2:bankName'
|
||||
column_header: 'BANK_NAME'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:currentAccountMrrs/ns2:currentAccountMrr/ns2:currentAccount'
|
||||
column_header: 'CURRENT_ACCOUNT'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:currentAccountMrrs/ns2:currentAccountMrr/ns2:minimumReserveRequirement'
|
||||
column_header: 'MINIMUM_RESERVE_REQUIREMENT'
|
||||
is_key: 'N'
|
||||
- type: 'xpath'
|
||||
value: '/ns2:currentAccountMrrMessage/ns2:disaggregatedCurrentAccountMrr/ns2:currentAccountMrrs/ns2:currentAccountMrr/ns2:comment'
|
||||
column_header: 'COMMENT_'
|
||||
is_key: 'N'
|
||||
Reference in New Issue
Block a user