SAX
Bij deze opgave gaan we starten van de bestanden uit de eerste opgave.
Controleer of het gegeven bestand competitie.xml voldoet aan je DTD en XML Schema met behulp van (een) zelfgeschreven java-programma('s) (gebruik SAX). Zorg ervoor dat je dit (deze) programma('s) makkelijk voor
andere XML-bestanden kan gebruiken. Zorg er voor dat wanneer er een validatiefout gevonden wordt er een passende boodschap op het scherm verschijnt.
Bijvoorbeeld:
Error found!!!! In line: 7
URI: file:/C:/competitie.xml
Message: cvc-complex-type.2.4.a: Invalid content was found starting with element 'clubkleuren'. One of '{naam}' is expected.
Schrijf een java-programma (gebruik SAX) om het bestand competitie.xml om te vormen zodat de volgende output in de
console bekomen wordt.
Naam: Steven Defour
Positie: Middenvelder
Aantal gele kaarten: 1
Aantal rode kaarten: 0
Aantal doelpunten: 0
Aantal owndoelpunten: 0
Naam: Sylvain Berton
Positie: Verdediger
Aantal gele kaarten: 0
Aantal rode kaarten: 0
Aantal doelpunten: 0
Aantal owndoelpunten: 0
Naam: Jeroen Appeltans
Positie: Middenvelder
Aantal gele kaarten: 0
Aantal rode kaarten: 0
Aantal doelpunten: 0
Aantal owndoelpunten: 0
Naam: Thomas Chatelle
Positie: Middenvelder
Aantal gele kaarten: 2
Aantal rode kaarten: 0
Aantal doelpunten: 0
Aantal owndoelpunten: 0
Naam: Alois Nong
Positie: Aanvaller
Aantal gele kaarten: 1
Aantal rode kaarten: 0
Aantal doelpunten: 2
Aantal owndoelpunten: 0
Naam: Rubenilson Kanu
Positie: Aanvaller
Aantal gele kaarten: 0
Aantal rode kaarten: 0
Aantal doelpunten: 0
Aantal owndoelpunten: 0
Opgave Dom Deel 1
In dit labo gaan we een console-applicatie maken waarmee we alle gegevens van de competitie uit de eerste labo's kunnen tonen.
Open volgend project. Het doel van dit labo is om via DOM xml in te lezen en te transformeren.
Om het programmeerwerk te beperken werd een groot stuk van de applicatie reeds voor jullie gemaakt.
In de zip bevinden zich volgende packages:
- be.hogent.iii.voetbal.interfaces : In dit pakket zitten al de nodige interfaces. Dit pakket dien je niet aan te passen.
- be.hogent.iii.voetbal.bo: De implementatie van alle interfaces. Hier zal je één klasse moeten aanpassen.
De eigenlijke opgave bestaat er in om de klasse DOMDataStorage van het pakket be.hogent.iii.film.bo aan te vullen zodat alle gegevens die nodig zijn in de applicatie
uit de xml-bestanden gelezen wordt. De manier van inlezen en transformeren is ditmaal DOM en niet SAX.
Voordat je begint bekijk je vlug eens alle uitgewerkte klassen van het pakket be.hogent.iii.film.bo. Zodat je weet naar welke structuur je volgende xml-bestanden
dient om te zetten. Voor de structuur van de xml-bestanden verwijs ik naar labo 1.
Voor het uittesten van je code schrijf je zelf een hoofdprogramma.
Opgave Dom Deel 2
In dit laatste deel gaan informatie toevoegen aan de xml-bestanden door gebruik te maken van DOM.
We gaan de gebruiker de mogelijkheid geven om clubs toe te voegen aan de xml-bestanden. Om dit te kunnen uitwerken voeg je aan de interface IDataStorage volgende methode toe:
public boolean addClub (IClub club);
Informatie over hoe je via dom elementen toevoegd aan een bestand kan je vinden in de cursus op bladzijde 80 en verder.
Pas nu je hoofdprogramma aan zodat je clubs kan toevoegen aan de xml-bestanden.
Afgeven
De oplossing van zowel SAX, DOM dien je af te geven voor 18u op maandag 19/10/2009. Je plaatst je oplossing op je U:-drive in de map Saxdom.
Oplossing
Een mogelijke oplossing van Sax en Dom kan je hier vinden.
|