SWIFT/SEPA:n sisältöä

Jonkin verran on tullut tehtyä XML-faileja vuosien varrella, HTML-koodausten ohella, joten aivan outoa aihe ei ole. Nyt yritän päästä noiden uusien SEPA-maksuhommien ja sen XML.n kanssa tutuksi. Muutama XML:äään liittyvä juttu ja sen käyttöidea ei vaan avaudu.

Esim. SEPA:n maksutiedosto alkaa aina tällaisella vakioloitsulla:

....

Näitä en ymmärrä:
1. Kun tällainen avataan vaikka selainohjelmalla, niin käykö selain silloin osoitteessa "http://www.w3.org/2001/XMLSchema-instance" ja lukee sieltä jotakin, tai tekee XML-tiedostolle jonkin tarkistuksen tuolla osoitteessa olevaa Schemaaa vasten?

Mietin vain että jos koko EU-alueella kaikkien firmojan kaikkia SEPA-maksutiedostoja luettaessa selain käy aina tuossa osoitteessa, niin eihän siihen minkään serverin kapasiteetti voi riittä. Joku tarkoitus tuolla www-osoitteella kuitenkin on, mutta mikä? Mitenkä usein tai millä periaatteella selaimet siis käyvät tuolla, mahdollisesti tsekkaamassa jotakin?

2. Entä tämä litania: xmlns = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"
Koko tässä käytetyn addressin notaatio on minulle outoa. Osoittaako pötkö "urn:iso:std:iso:20022:..." jonnekin netissä olevaan tiedostoon? Vai onko tuollainen file olemassa jo omassa koneessani, vaikka jossakin cachessa tai muualla valmiina? Tietoliikennettä skannailemalla, mielestäni selain ei käy tuollaisia tsekkaamassa tai hakemassa yhteyden aikana.

Joten miten noita kaksoispiste ":"-merkintöjä ylipäätään olisi ymmärrettävä, millaiseen ja missä sijaitsevaan paikkaan ne osoittavat?

. . .
Eli osaan nyt siis tehdä halutunlaisia SEPA:n XML-tiedostoja, sisältäen kulloinkin tarvittavan datan. Alkuun vain laitan kiinteänä tuon alussa olevan noin 4-rivisen litanian.

Mutta haluaisin myös ymmärtää että mitä nuo alussa olevat litaniat käytännössä tarkoittavat. Onko tuolla osoitteessa "http://www.w3.org/2001/XMLSchema-instance" olemassa jokin Schema-tiedosto, jota itsekin mahdollisesti voisin käytellä jos haluan tarkistaa eli validoida oman luomani XML-dokumentin oikeellisuutta.

Olen kokeillut käydä selaimella viereilemassa noissa osoitteissa, mutta en oikein ole päässyt kärrylle. Osanneeko joku vääntää rautalangasta mallia?
t Lasse
Ilmianna
Jaa

8 Vastausta



>Esim. SEPA:n maksutiedosto alkaa aina tällaisella vakioloitsulla:
>

Hmm, ei tämä foorumisysteemi taidakaan antaa XML-koodin tulla näkyville lainkaan. Melkein kaikki strippaantui edeltä pois. Kokeilen uudelleen:

Document
VASENKULMA_ xmlns = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.02 pain.001.001.02.xsd"
VASENKULMA_pain.001.001.02_OIKEAKULMA
VASENKULMA_GrpHdr_OIKEAKULMA ....

Selite:
VASENKULMA_ = vasen kulmasulku
OIKEAKULMA_ = oikea kulmasulku

---
Jos ei edelleenkään tule mitään läpi, joku ehkä ystävällisesti kertonee miten näitä XML-malleja voi täällä esittää?
Lasse
Kommentoi
Ilmianna
Jaa
4 VASTAUSTA:
Clientit kuten selain ei käy xml-namespace-'osoitteissa', 'osoitteet' ovat nimellisiä.
Namespacet (xmlns=uri) ovat vain määrityksiä siihen, miten käytetyt tyypit tulkitaan.
Yleensä tyypit tulee xml-standardista (w3.org Schema-namespace löytyy aina schemasta), mutta uusia voi määritellä (menee scheman targetnamespaceen).
Yleensä asetetaan myös defaultnamespace ja targetnamespace (=scheman/dokumentin namespace) (ja usein samaksi). Nämä asetukset vaikuttavat prefixeihin xml-docissa (tarvitaanko niitä vai ei).
uri voi olla url (http://..) tai urn (urn:..).

Erikseen on validaattorit, millä testataan, että xml-doc vastaa xml-schemaa (schema luetaan xml-docin schemaLocation-arvosta joten sen on syytä olla siellä). Selaimet ei lue/tarvi schemaa.
Jotkut testityökalut voi myös tarvita schemaa (tekee sen perusteella xml-docin), samoin esim. weblogicin kanssa kehitystyössä tarvitaan schemoja, mitkä on talletettava ko paikkaan.
Kommentoi
Ilmianna
Jaa
xmlxml kirjoitti:
Clientit kuten selain ei käy xml-namespace-'osoitteissa', 'osoitteet' ovat nimellisiä.
Namespacet (xmlns=uri) ovat vain määrityksiä siihen, miten käytetyt tyypit tulkitaan.
Yleensä tyypit tulee xml-standardista (w3.org Schema-namespace löytyy aina schemasta), mutta uusia voi määritellä (menee scheman targetnamespaceen).
Yleensä asetetaan myös defaultnamespace ja targetnamespace (=scheman/dokumentin namespace) (ja usein samaksi). Nämä asetukset vaikuttavat prefixeihin xml-docissa (tarvitaanko niitä vai ei).
uri voi olla url (http://..) tai urn (urn:..).

Erikseen on validaattorit, millä testataan, että xml-doc vastaa xml-schemaa (schema luetaan xml-docin schemaLocation-arvosta joten sen on syytä olla siellä). Selaimet ei lue/tarvi schemaa.
Jotkut testityökalut voi myös tarvita schemaa (tekee sen perusteella xml-docin), samoin esim. weblogicin kanssa kehitystyössä tarvitaan schemoja, mitkä on talletettava ko paikkaan.
>Erikseen on validaattorit, millä testataan, että xml-doc vastaa xml-schemaa (schema
>luetaan xml-docin schemaLocation-arvosta joten sen on syytä olla siellä). Selaimet
>ei lue/tarvi schemaa.
>Jotkut testityökalut voi myös tarvita schemaa (tekee sen perusteella xml-docin),
>samoin esim. weblogicin kanssa kehitystyössä tarvitaan schemoja, mitkä on
>talletettava ko paikkaan.

Jonkin verran olen itsekin päässyt tässä asiassa viime kuukauden tarpomisen perästä eteenpäin.

XML-esimerkkitiedostona vaikka tässä Nordean linkissä oleva yksi XML-tiedosto:
http://www.nordea.fi/sitemod/upload/root/fi_org/liite/Yrityksen_maksut_esimerkit.xml

Tuossakin XML:n alussa on tämän tyyppinen urn-loitsu:
""

Siis onko niin että normaalikäytössä selain ei ikinä välitä mitään mitä tämä teksti sisältää? Eikä yritä haeskella mitään Schema-tiedostojakaan, ei siis tuosta osoitteesta, eikä mistään namespacesta eikä koneen paikallisesta Schema Cachesta, eikä siis mistään?? Eli siis kyseistä tiedostoa ei tarviste olla käsillä eikä mistään selaimelle ladattavissa tms?

Ja silloin siis kaikki tuo: "urn:iso..." jne. osuus on vain sitä tarvetta varten JOS halutaan jollakin ulkopuolisella testiohjelmalla testata vaikak tuon Nordean XML:n sisältöä, niin silloin etsitään käsiin kyseisen Namespacen sisältävä XSD-Schematiedosto, ja sitä vasten sitten tarkistetaan?

Tätäkö tämä kaikki lyhykäisyydessään tarkoittaa?

Tähän meneessä olen siis onnistuneesti oppinut pelaamaan noiden SEPA-failien kanssa, mutta minä vain sokkona laitan tuon urn-osuuden sellaisenaan aina XML:n alkuun. Mutta en ymmärrä hölkkäsen pöläystä sen merkiyksestä. Siis että kuka, ja missä vaiheessa sitä tietoa tarvistee ja sen lukee.
Kommentoi
Ilmianna
Jaa
Lasse777 kirjoitti:
>Erikseen on validaattorit, millä testataan, että xml-doc vastaa xml-schemaa (schema
>luetaan xml-docin schemaLocation-arvosta joten sen on syytä olla siellä). Selaimet
>ei lue/tarvi schemaa.
>Jotkut testityökalut voi myös tarvita schemaa (tekee sen perusteella xml-docin),
>samoin esim. weblogicin kanssa kehitystyössä tarvitaan schemoja, mitkä on
>talletettava ko paikkaan.

Jonkin verran olen itsekin päässyt tässä asiassa viime kuukauden tarpomisen perästä eteenpäin.

XML-esimerkkitiedostona vaikka tässä Nordean linkissä oleva yksi XML-tiedosto:
http://www.nordea.fi/sitemod/upload/root/fi_org/liite/Yrityksen_maksut_esimerkit.xml

Tuossakin XML:n alussa on tämän tyyppinen urn-loitsu:
""

Siis onko niin että normaalikäytössä selain ei ikinä välitä mitään mitä tämä teksti sisältää? Eikä yritä haeskella mitään Schema-tiedostojakaan, ei siis tuosta osoitteesta, eikä mistään namespacesta eikä koneen paikallisesta Schema Cachesta, eikä siis mistään?? Eli siis kyseistä tiedostoa ei tarviste olla käsillä eikä mistään selaimelle ladattavissa tms?

Ja silloin siis kaikki tuo: "urn:iso..." jne. osuus on vain sitä tarvetta varten JOS halutaan jollakin ulkopuolisella testiohjelmalla testata vaikak tuon Nordean XML:n sisältöä, niin silloin etsitään käsiin kyseisen Namespacen sisältävä XSD-Schematiedosto, ja sitä vasten sitten tarkistetaan?

Tätäkö tämä kaikki lyhykäisyydessään tarkoittaa?

Tähän meneessä olen siis onnistuneesti oppinut pelaamaan noiden SEPA-failien kanssa, mutta minä vain sokkona laitan tuon urn-osuuden sellaisenaan aina XML:n alkuun. Mutta en ymmärrä hölkkäsen pöläystä sen merkiyksestä. Siis että kuka, ja missä vaiheessa sitä tietoa tarvistee ja sen lukee.
Ei tavallinen selain lue schemoja. Periaatteessa xml-doceissa/schemoissa pitää olla ne alun määritykset (w3-standardinamespace ja sitten se omat local-namespacet) ja tietenkin xml-speksin mukaiset elementit. xml-docin oikeellisuutta tarvitsee varmasti tuotekehitysvaiheessa verrata schemaan (kuten sepan urn:pain ja mitenkäs sen löytäisi ilman tätä määritystä) ja kuten sanottu documentin validisuus schemaan nähden pitäisi tarkistaa jollain automaattitestauksella (xmlspy:llakin taitaa onnistua).

Joku spesifinen client-ohjelma (kuten soap) voi vaatia ja lukea schemaa ja wsdl:ää lokaalisti (esim soapui:lla voi testata soapia, kun on wsdl ja mahdollinen schemafile, tai se voi määriteltynä olla wsdln sisälläkin), mutta vastausviestin tarkistus on manuaalinen.

Selain sitten tarvitsee yleensä xslt-muunnoksen (tai cssn) että xml-doc näkyy helposti ihmisen luettavassa muodossa.
Kommentoi
Ilmianna
Jaa
xmlxml kirjoitti:
Ei tavallinen selain lue schemoja. Periaatteessa xml-doceissa/schemoissa pitää olla ne alun määritykset (w3-standardinamespace ja sitten se omat local-namespacet) ja tietenkin xml-speksin mukaiset elementit. xml-docin oikeellisuutta tarvitsee varmasti tuotekehitysvaiheessa verrata schemaan (kuten sepan urn:pain ja mitenkäs sen löytäisi ilman tätä määritystä) ja kuten sanottu documentin validisuus schemaan nähden pitäisi tarkistaa jollain automaattitestauksella (xmlspy:llakin taitaa onnistua).

Joku spesifinen client-ohjelma (kuten soap) voi vaatia ja lukea schemaa ja wsdl:ää lokaalisti (esim soapui:lla voi testata soapia, kun on wsdl ja mahdollinen schemafile, tai se voi määriteltynä olla wsdln sisälläkin), mutta vastausviestin tarkistus on manuaalinen.

Selain sitten tarvitsee yleensä xslt-muunnoksen (tai cssn) että xml-doc näkyy helposti ihmisen luettavassa muodossa.
Thanksit selvennyksistä.

>Joku spesifinen client-ohjelma (kuten soap) voi vaatia ja lukea schemaa ja wsdl:ää
>lokaalisti (esim soapui:lla voi testata soapia, kun on wsdl ja mahdollinen schemafile,
>tai se voi määriteltynä olla wsdln sisälläkin), mutta vastausviestin tarkistus on manuaalinen.

Osin menee yli hilseen..., lienet itse Java-koodari? Ja meikäläinen Win32:lle raapii koodia. Tuota WSDL:ää ei onneksi mainita missään Sepaan liittyvissä jutuissa lainkaan, on vain pelkkä XSD-schematiedostoa vastaan tarkistus, ja se alkaa jo hoitua.

Sen sijaan WSDL-määritykset mainitaan samaan SEPA-soppaan liittyvän pankkien Web Servicesin yhteydessä. Siellä on vielä perkaamatonta ja tutkimatonta tonttia riittämiin meikälle:(
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Moro!
Varsin mielenkiintoinen viestiketju, mutta lopputulema jäi uupumaan eli miten kävi saitko xml maksuaineiston muodostettua?
Kommentoi
Ilmianna
Jaa
1 VASTAUS:
>mutta lopputulema jäi uupumaan eli miten kävi saitko xml maksuaineiston
>muodostettua?

No totta mooses! Niitä alkoi syntyä ja hommat kukkua. Alun perinkään ei ollut itse XML-tiedoston muodostamisen kanssa mitään ohjelmateknisiä ongelmia.

En vain ollut perillä mitä nuo lukuisat viittaukset SEPA-tiedoston headerissa oikein tarkoittavat. Missä fyysisesti sijaitseviin "urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" tms. nimisiin tiedostoihin ne oikein viittaavat jne.

Kun tuon mössön logiikka alkoi hissuksiin ja riittävässä määrin avautua, niin kyllä Sepa-maksutiedostoja on syntynyt. Ja ainakin muutamia kymmeniä eri ihmisiä niillä nytkin eri paikoissa makselee firmansa laskuja.
Kommentoi
Ilmianna
Jaa
+Lisää kommentti
Sijaitsevat fyysisesti varmaan monissakin paikoissa mutta kyse on standardeista ja teknisista sopimuksista.

std:iso:20022 -> Tässä viitataan ISO standardi 20022 een eli asiakkaan yhteydenotosta pankkiin standardi. Alta 251 sivuinen käyttöopas.

http://www.swift.com/corporates/resources/Getting_Started/MIG_ISO20022/ISO20022_usage_guide_V3.pdf

tech:xsd:pain.001.001.02 -> Viitataan teknisiin spekseihin

http://www.architome.nl/unifi/xml/pain.001.001.02/index.html
Ilmianna
Jaa

Vastaa alkuperäiseen viestiin

SWIFT/SEPA:n sisältöä

Jonkin verran on tullut tehtyä XML-faileja vuosien varrella, HTML-koodausten ohella, joten aivan outoa aihe ei ole. Nyt yritän päästä noiden uusien SEPA-maksuhommien ja sen XML.n kanssa tutuksi. Muutama XML:äään liittyvä juttu ja sen käyttöidea ei vaan avaudu.

Esim. SEPA:n maksutiedosto alkaa aina tällaisella vakioloitsulla:

....

Näitä en ymmärrä:
1. Kun tällainen avataan vaikka selainohjelmalla, niin käykö selain silloin osoitteessa "http://www.w3.org/2001/XMLSchema-instance" ja lukee sieltä jotakin, tai tekee XML-tiedostolle jonkin tarkistuksen tuolla osoitteessa olevaa Schemaaa vasten?

Mietin vain että jos koko EU-alueella kaikkien firmojan kaikkia SEPA-maksutiedostoja luettaessa selain käy aina tuossa osoitteessa, niin eihän siihen minkään serverin kapasiteetti voi riittä. Joku tarkoitus tuolla www-osoitteella kuitenkin on, mutta mikä? Mitenkä usein tai millä periaatteella selaimet siis käyvät tuolla, mahdollisesti tsekkaamassa jotakin?

2. Entä tämä litania: xmlns = "urn:iso:std:iso:20022:tech:xsd:pain.001.001.02"
Koko tässä käytetyn addressin notaatio on minulle outoa. Osoittaako pötkö "urn:iso:std:iso:20022:..." jonnekin netissä olevaan tiedostoon? Vai onko tuollainen file olemassa jo omassa koneessani, vaikka jossakin cachessa tai muualla valmiina? Tietoliikennettä skannailemalla, mielestäni selain ei käy tuollaisia tsekkaamassa tai hakemassa yhteyden aikana.

Joten miten noita kaksoispiste ":"-merkintöjä ylipäätään olisi ymmärrettävä, millaiseen ja missä sijaitsevaan paikkaan ne osoittavat?

. . .
Eli osaan nyt siis tehdä halutunlaisia SEPA:n XML-tiedostoja, sisältäen kulloinkin tarvittavan datan. Alkuun vain laitan kiinteänä tuon alussa olevan noin 4-rivisen litanian.

Mutta haluaisin myös ymmärtää että mitä nuo alussa olevat litaniat käytännössä tarkoittavat. Onko tuolla osoitteessa "http://www.w3.org/2001/XMLSchema-instance" olemassa jokin Schema-tiedosto, jota itsekin mahdollisesti voisin käytellä jos haluan tarkistaa eli validoida oman luomani XML-dokumentin oikeellisuutta.

Olen kokeillut käydä selaimella viereilemassa noissa osoitteissa, mutta en oikein ole päässyt kärrylle. Osanneeko joku vääntää rautalangasta mallia?
t Lasse

5000 merkkiä jäljellä

Peruuta