Skip to content

Commit

Permalink
Added rest of camr.028 and head xsds
Browse files Browse the repository at this point in the history
  • Loading branch information
phoughton committed Aug 16, 2024
1 parent af11eff commit 92ac440
Show file tree
Hide file tree
Showing 13 changed files with 10,202 additions and 1 deletion.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setuptools.setup(
name="pyiso20022",
version="1.3.3",
version="1.3.4",
author="Peter Houghton",
author_email="[email protected]",
description="pyiso20022 is a library for generating ISO20022 messages in Python.",
Expand Down
11 changes: 11 additions & 0 deletions supported_msg_types_final.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,15 @@
- camt.camt_026_001_10
- camt.camt_028_001_01
- camt.camt_028_001_03
- camt.camt_028_001_04
- camt.camt_028_001_05
- camt.camt_028_001_06
- camt.camt_028_001_07
- camt.camt_028_001_08
- camt.camt_028_001_09
- camt.camt_028_001_10
- camt.camt_028_001_11
- camt.camt_028_001_12
- camt.camt_029_001_01
- camt.camt_029_001_03
- camt.camt_029_001_04
Expand Down Expand Up @@ -99,7 +107,9 @@
- camt.camt_060_001_07
- camt.camt_110_001_01
- camt.camt_111_001_01
- head.head_001_001_01
- head.head_001_001_02
- head.head_001_001_03
- head.head_001_001_04
- pacs.pacs_002_001_02
- pacs.pacs_002_001_03
Expand Down Expand Up @@ -157,6 +167,7 @@
- pacs.pacs_008_001_08
- pacs.pacs_008_001_09
- pacs.pacs_008_001_10
- pacs.pacs_008_001_11
- pacs.pacs_008_001_12
- pacs.pacs_009_001_01
- pacs.pacs_009_001_02
Expand Down
296 changes: 296 additions & 0 deletions xsd/business_application_header/head.001/head.001.001.01.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,296 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Standards Editor (build:R1.0.41.3) on 2013 May 27 13:50:29, ISO 20022 version : 2013-->
<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.01" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
<xs:element name="AppHdr" type="BusinessApplicationHeaderV01"/>
<xs:simpleType name="AddressType2Code">
<xs:restriction base="xs:string">
<xs:enumeration value="ADDR"/>
<xs:enumeration value="PBOX"/>
<xs:enumeration value="HOME"/>
<xs:enumeration value="BIZZ"/>
<xs:enumeration value="MLTO"/>
<xs:enumeration value="DLVY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="AnyBICIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="BICFIIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="BranchAndFinancialInstitutionIdentification5">
<xs:sequence>
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/>
<xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BranchData2">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BusinessApplicationHeader1">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="CharSet" type="UnicodeChartsCode"/>
<xs:element name="Fr" type="Party9Choice"/>
<xs:element name="To" type="Party9Choice"/>
<xs:element name="BizMsgIdr" type="Max35Text"/>
<xs:element name="MsgDefIdr" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="BizSvc" type="Max35Text"/>
<xs:element name="CreDt" type="ISONormalisedDateTime"/>
<xs:element maxOccurs="1" minOccurs="0" name="CpyDplct" type="CopyDuplicate1Code"/>
<xs:element maxOccurs="1" minOccurs="0" name="PssblDplct" type="YesNoIndicator"/>
<xs:element maxOccurs="1" minOccurs="0" name="Prty" type="BusinessMessagePriorityCode"/>
<xs:element maxOccurs="1" minOccurs="0" name="Sgntr" type="SignatureEnvelope"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BusinessApplicationHeaderV01">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="CharSet" type="UnicodeChartsCode"/>
<xs:element name="Fr" type="Party9Choice"/>
<xs:element name="To" type="Party9Choice"/>
<xs:element name="BizMsgIdr" type="Max35Text"/>
<xs:element name="MsgDefIdr" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="BizSvc" type="Max35Text"/>
<xs:element name="CreDt" type="ISONormalisedDateTime"/>
<xs:element maxOccurs="1" minOccurs="0" name="CpyDplct" type="CopyDuplicate1Code"/>
<xs:element maxOccurs="1" minOccurs="0" name="PssblDplct" type="YesNoIndicator"/>
<xs:element maxOccurs="1" minOccurs="0" name="Prty" type="BusinessMessagePriorityCode"/>
<xs:element maxOccurs="1" minOccurs="0" name="Sgntr" type="SignatureEnvelope"/>
<xs:element maxOccurs="1" minOccurs="0" name="Rltd" type="BusinessApplicationHeader1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="BusinessMessagePriorityCode">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:complexType name="ClearingSystemIdentification2Choice">
<xs:choice>
<xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
<xs:element name="Prtry" type="Max35Text"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="ClearingSystemMemberIdentification2">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
<xs:element name="MmbId" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactDetails2">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
<xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
<xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
<xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="CopyDuplicate1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="CODU"/>
<xs:enumeration value="COPY"/>
<xs:enumeration value="DUPL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="CountryCode">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2,2}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="DateAndPlaceOfBirth">
<xs:sequence>
<xs:element name="BirthDt" type="ISODate"/>
<xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
<xs:element name="CityOfBirth" type="Max35Text"/>
<xs:element name="CtryOfBirth" type="CountryCode"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ExternalClearingSystemIdentification1Code">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ExternalOrganisationIdentification1Code">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ExternalPersonIdentification1Code">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="FinancialIdentificationSchemeName1Choice">
<xs:choice>
<xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
<xs:element name="Prtry" type="Max35Text"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="FinancialInstitutionIdentification8">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/>
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GenericFinancialIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GenericOrganisationIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GenericPersonIdentification1">
<xs:sequence>
<xs:element name="Id" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ISODate">
<xs:restriction base="xs:date"/>
</xs:simpleType>
<xs:simpleType name="ISONormalisedDateTime">
<xs:restriction base="xs:dateTime">
<xs:pattern value=".*Z"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max140Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="140"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max16Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="16"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max2048Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2048"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max35Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max70Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="70"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NamePrefix1Code">
<xs:restriction base="xs:string">
<xs:enumeration value="DOCT"/>
<xs:enumeration value="MIST"/>
<xs:enumeration value="MISS"/>
<xs:enumeration value="MADM"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="OrganisationIdentification7">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="OrganisationIdentificationSchemeName1Choice">
<xs:choice>
<xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
<xs:element name="Prtry" type="Max35Text"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="Party10Choice">
<xs:choice>
<xs:element name="OrgId" type="OrganisationIdentification7"/>
<xs:element name="PrvtId" type="PersonIdentification5"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="Party9Choice">
<xs:choice>
<xs:element name="OrgId" type="PartyIdentification42"/>
<xs:element name="FIId" type="BranchAndFinancialInstitutionIdentification5"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="PartyIdentification42">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party10Choice"/>
<xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
<xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PersonIdentification5">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PersonIdentificationSchemeName1Choice">
<xs:choice>
<xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
<xs:element name="Prtry" type="Max35Text"/>
</xs:choice>
</xs:complexType>
<xs:simpleType name="PhoneNumber">
<xs:restriction base="xs:string">
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="PostalAddress6">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
<xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
<xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SignatureEnvelope">
<xs:sequence>
<xs:any namespace="http://www.w3.org/2000/09/xmldsig#" processContents="lax"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="UnicodeChartsCode">
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType name="YesNoIndicator">
<xs:restriction base="xs:boolean"/>
</xs:simpleType>
</xs:schema>
Loading

0 comments on commit 92ac440

Please sign in to comment.