Az XML feldolgozhatósága után azt is igazolnod kell, hogy a megfelelő termékek a megfelelő adatokkal kerültek az exportba. Ehhez a termékazonosítókat, a mezők jelentését és az exportált halmazt az eredeti adatokkal vesd össze. Egy helyesen lezárt elemben is szerepelhet hibás ár.
Az XML-formázó a szerkezet áttekintésében segít. A befogadó szolgáltatás saját mezőneveit és szabályait külön kell követni. Az alábbi termékek és mezőnevek semleges példák, nem egy konkrét hirdetési rendszer teljes feedspecifikációja.
Először a jól formáltság
Az XML-elemek megfelelő nyitó és záró jelölést, következetes egymásba ágyazást és helyes karakterkezelést igényelnek. A CDATA-szakaszon kívüli elemszövegben a szó szerinti & karakterhez megfelelő entitáshivatkozást vagy karakterhivatkozást kell használni.
A megjelenített terméknév lehet „Kék & zöld”, miközben a sorosított XML-ben a speciális karakter kódolt alakja szerepel. Kétszeres kódolásnál a vásárló már az entitás szövegét láthatja. A formázás és a karaktertartalom visszaolvasása ezért két külön ellenőrzés.
A névterek és mezősémák kezelése a konkrét szabványhoz tartozik. Egy általános XML-formázó nem adhat automatikusan olyan igazolást, hogy a feed minden külső rendszer üzleti feltételének megfelel.
Azonosítók és duplikációk
Tegyük fel, hogy az export 1000 terméksort tartalmaz, de csak 997 különböző azonosítót. Ez három többletelőfordulás, nem feltétlenül három külön hibás azonosító. Lehet egy négyszer szereplő termék, de három kétszer szereplő azonosító is.
A javításhoz az azonosítóhoz tartozó teljes sorokat kell csoportosítani. Két azonos kulcsú sor eltérő ár vagy készlet mellett nem egyértelműen összevonható. Előbb döntsd el, melyik adat a hiteles és miért keletkezett a kettősség.
Az azonosítót szövegként kezeld, ha az elején álló nullák jelentéssel bírnak. A „00125” és „125” adatbázisodban lehet két eltérő kód, vagy ugyanannak eltérő formája. A normalizálást a saját kulcsszerződésed alapján végezd, találgatás nélkül.
Ár és pénznem együtt
Egy termék ára legyen 12 490 HUF. A forrásban esetleg „12 490”, „12490,00” vagy „12490.00” szöveg szerepel. A célformátumba alakítás előtt egyértelműen meg kell határozni a tizedes- és ezreselválasztót.
Ha egy általános szövegtisztítás a vesszőt egyszerűen eltávolítja, a „12490,00” értékből 1 249 000 is lehet. A helyes számhoz ezért típusellenőrzés és ismert formátumú átalakítás kell. A pénznemet külön ellenőrizd: a hibás EUR jelölés a szám változatlansága mellett is más üzleti állítást jelent.
A nulla ár, a hiányzó ár és a nem elérhető ár külön állapot. A hiányt automatikusan nullára cserélni olyan ajánlatot hozhat létre, amelyet a kereskedő soha nem akart megadni.
Darabszám-mérleg az exportban
Képzeletbeli készletedben 1050 termék van. Ebből 30 tudatosan kizárt, 20 még hiányos adatokkal szerkesztés alatt áll, ezért a várható export 1000 sor. Ha a kész feedben 970 sor jelenik meg, harminc tétel útját meg kell keresni.
A CSV–JSON átalakító segíthet ellenőrzési listák készítésében, de az átalakítás során azonosítók és pontos szövegmezők megőrzését is vizsgáld. A sorok száma mellett a konkrét azonosítóhalmazt is hasonlítsd össze, mert egy hiányzó és egy duplikált sor ugyanazt a darabszámot adhatja.
Biztonságos frissítési próba
Először kis, ellenőrzött adathalmazon készíts exportot. Olvasd vissza, és hasonlítsd össze az árat, pénznemet, készletállapotot és hivatkozást az eredeti termékadattal. Nagyobb exportnál ugyanezek a szabályok automatikusan is ellenőrizhetők.
Az elfogadási naplóban külön szerepeljen a jól formált XML, a sémaellenőrzés és az üzleti adatellenőrzés eredménye. Egyik sikerét se írd át a másik helyett „hibátlan feed” minősítésre.
Azonos számú sor mellett is háromféle eltérés lehet
Legyen az elvárt azonosítólista A, B, C és D, a visszaolvasott export viszont A, B, B és E. Mindkettő négy sor. Az exportban mégis két elvárt azonosító hiányzik: C és D, egy váratlan azonosító jelenik meg: E, és B-nek egy többletelőfordulása van.
A négy exportsor csak három különböző azonosítót tartalmaz. A darabszám egyezése elfedi az eltéréseket: a két hiányzó helyét a váratlan E és a második B tölti ki. A javításkor ezért külön listázd az elvárt, de hiányzó kódokat, a váratlan kódokat és az ismétlődő sorokat.
A második B egyszerű törlésétől három sor maradna, és C meg D továbbra is hiányozna. Előbb az export lekérdezését és az egyes kódok eredetét tisztázd, majd a hiteles adatokból állítsd elő újra a listát. A négy sor itt kézzel átnézhető próba; ugyanezek a halmaz- és előfordulásvizsgálatok nagy exportnál is megőrzik az eltérések jelentését.
Gyakori kérdések
A böngészőben megnyitható fájl biztosan importálható?
A böngésző szerkezeti megjelenítése nem bizonyítja a befogadó rendszer összes követelményének teljesülését.
Azonos darabszámnál egyezik az export?
Az azonosítókat és a fontos mezőket is össze kell vetni. Ugyanannyi sor eltérő termékeket takarhat.
Törölhetem az összes duplikált sort?
Először a hiteles rekordot és a duplikáció okát kell meghatározni. Az automatikus törlés értékes adatot is eltávolíthat.
Módszertani forrás
MDN – XML: szerkezet és karakterhivatkozások
W3C – XML 1.0 – a jól formáltság, az érvényességi feltételek és az entitáshivatkozások szabványa; az üzleti azonosítólista külön ellenőrzési feltétel.
Záró tudáspróba
Válassz kérdésenként egy választ, és jegyezd fel a betűjelét. Minden helyes válasz 1 pont; a hibás, kihagyott vagy több betűvel jelölt válasz 0 pont. Legfeljebb 3 pontot szerezhetsz. A megoldókulcsot a válaszadás után olvasd el.
1. Elvárt: A, B, C, D. Export: A, B, B, E. Hány elvárt azonosító hiányzik?
- A) Egy sem.
- B) Kettő.
- C) Egy.
2. Törlöd az egyik B sort. Ezzel helyreállt az export?
- A) Nem; C és D még hiányzik, E pedig továbbra is váratlan.
- B) Igen, mert minden megmaradt kód különböző.
- C) Igen, mert kevesebb sor van.
3. A sorok száma egyezik. Melyik további ellenőrzés indokolt?
- A) Az azonosítóhalmaz, előfordulások és fontos mezők összevetése.
- B) Csak a fájlnév hosszának összevetése.
- C) Minden hiányzó árat automatikusan nullára írni.
Megoldókulcs és értelmezés
1. B. C és D hiányzik. E váratlan kód, a második B pedig ismétlés.
2. A. A duplikáció eltávolítása a többi eltérést nem javítja. A kódok eredetét és az elvárt halmazt is ellenőrizni kell.
3. A. Azonos darabszám mellett eltérő termékek és mezőértékek is szerepelhetnek.
0–1 pont: Írd egymás mellé a négyelemű elvárt és tényleges listát, majd külön számold a hiányzó, váratlan és ismétlődő kódokat.
2 pont: A hibás vagy kihagyott válasz magyarázata alapján keresd vissza a kapcsolódó számítást, majd oldd meg újra azt a kérdést.
3 pont: A három feladatban helyesen alkalmaztad a cikk összefüggéseit. Az export elfogadási naplójába a sorok száma mellé vedd fel a három külön eltéréslistát és az ár–pénznem összevetését. A rövid próba csak ezeket a tanulságokat ellenőrzi.