Az I. 402. feladat (2016. április) |
I. 402. Rendszeresen gyűjtünk adatokat XML fájl formájában. A jólformázott és érvényes XML fájlok előállítását egy példa XML fájllal és egy XML schema fájllal (XSD) segítjük. (Az XML fájl érvényessége az XSD fájl segítségével ellenőrizhető. Az ellenőrzés például a http://www.utilities-online.info/xsdvalidation/ címen is megtehető.)
Ezúttal azonban az XSD fájlt véletlenül töröltük, csak a helyes XML példa áll rendelkezésünkre. Az XSD fájlt programunknak kell előállítania a lehető legpontosabb formában. Az egyes elemekhez a nevet, típust - és ha szükséges –az előfordulás számát kell bejegyezni.
A rendelkezésre álló XML fájlban az adatok legfeljebb négy szinten vannak egymásba ágyazva. (A négy szintbe a gyökérelemet is beleértjük.) Tudjuk, hogy az összetett típusok közül csak a szekvenciális szerepel, az elemi típusok közül pedig a következők fordulhatnak elő: xs:integer, xs:decimal (például 12.34), xs:date (formátuma: éééé-hh-nn, például 2014-01-01), xs:time (formátuma: óó:pp:mm, például 10:30:00). A fel nem ismert típust xs:string-ként adjuk meg. Ha egy elem többször is előfordul, az előfordulások maximális számát végtelenre, ha elmarad, akkor az előfordulások minimális számát pedig nullára állítjuk.
A témában a következő lapokon is tájékozódhatunk, de érdemes továbbiakat is felkutatni:
\(\displaystyle \bullet\) http://www.inf.unideb.hu/~bodai/31-xml_alk/xmlSchemas.html;
\(\displaystyle \bullet\) http://soci.hu/articles/xml/XmlSema.pdf.
A bemeneti fájl egy jólformázott XML fájl. A fájlban a <, >, / karakterek csak a tagekben találhatók meg. A kimeneti fájl egy XSD fájl, amely az első bekezdésben említett címen található űrlapon az XML fájlt érvényesnek mutatja. (A mintafájlok a weblapunkról tölthetők le.)
A program első parancssori argumentuma a bemeneti fájl neve, a második pedig a kimeneti fájl neve legyen.
Beküldendő egy tömörített i402.zip állományban a program forráskódja, valamint a program rövid dokumentációja, amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
Példa fájlok: zenekar.xml, zenekar.xsd
(10 pont)
A beküldési határidő 2016. május 10-én LEJÁRT.
Az értékelés során használt bemeneti fájlok: i402bemenet.zip
Az értékelés a következőképpen történt:
a mintaként megadott esetre helyes eredményt ad - 1 pont
legalább még egy bemenetre helyes eredményt ad - 1 pont
minden tesztfájlra helyes eredményt ad - 1 pont
(az előzőekhez az iskola*.xml fájlok nem tartoznak hozzá)
Az iskola*.xml fájlok alapján:
a sequence összetett típus helyes feldolgozása - 1 pont
a hiányzó és többször előforduló elemek helyes kezelése - 1 pont
az egész és a decimális helyes felismerése - 1 pont
dátum és idő helyes felismerése - 1 pont
az ismeretlent stringnek tekinti - 1 pont
a dokumentáció érdemi - 1 pont
a versenykiírásnak megfelelően dolgozik a bemenettel - 1 pont
Mintaként Kovács 246 Benedek megoldását tesszük közé: i402.vb
Statisztika:
2 dolgozat érkezett. 10 pontot kapott: Kovács 246 Benedek. 8 pontot kapott: 1 versenyző.
A KöMaL 2016. áprilisi informatika feladatai