.. index:: single: iso_13616_protocol .. _iso_13616_protocol/0: .. rst-class:: right **protocol** ``iso_13616_protocol`` ====================== Protocol for ISO 13616 IBAN structure parsing, checksum validation, and normalization. | **Availability:** | ``logtalk_load(iso_13616(loader))`` | **Author:** Paulo Moura | **Version:** 1:0:0 | **Date:** 2026-05-05 | **Compilation flags:** | ``static`` | **Dependencies:** | (none) | **Remarks:** | (none) | **Inherited public predicates:** | (none) .. contents:: :local: :backlinks: top Public predicates ----------------- .. index:: iban/4 .. _iso_13616_protocol/0::iban/4: ``iban/4`` ^^^^^^^^^^ Parses and validates an ISO 13616 IBAN atom into ISO 3166-1 alpha-2 country code, two-character check digits, and BBAN atom. Input may use lowercase letters and embedded spaces; successful results are normalized to uppercase compact components. | **Compilation flags:** | ``static`` | **Template:** | ``iban(IBAN,CountryAlpha2,CheckDigits,BBAN)`` | **Mode and number of proofs:** | ``iban(+atom,?atom,?atom,?atom)`` - ``zero_or_one`` ------------ .. index:: canonical_iban/2 .. _iso_13616_protocol/0::canonical_iban/2: ``canonical_iban/2`` ^^^^^^^^^^^^^^^^^^^^ Returns the canonical electronic-format IBAN for a valid input by removing spaces and converting letters to uppercase. | **Compilation flags:** | ``static`` | **Template:** | ``canonical_iban(IBAN,Canonical)`` | **Mode and number of proofs:** | ``canonical_iban(+atom,?atom)`` - ``zero_or_one`` ------------ .. index:: formatted_iban/2 .. _iso_13616_protocol/0::formatted_iban/2: ``formatted_iban/2`` ^^^^^^^^^^^^^^^^^^^^ Returns a valid IBAN formatted in groups of four characters separated by spaces. | **Compilation flags:** | ``static`` | **Template:** | ``formatted_iban(IBAN,Formatted)`` | **Mode and number of proofs:** | ``formatted_iban(+atom,?atom)`` - ``zero_or_one`` ------------ Protected predicates -------------------- (none) Private predicates ------------------ (none) Operators --------- (none)