Labo 1: Dtd en XML Schema
Labo 1: Dtd en XML Schema
Schrijf een DTD en XML Schema voor het controleren de gegevens van de belgische voetbalcompetitie. Alle gegevens van de competitie kan je hier vinden.
De gegevens zijn als volgt gestructureerd :
- Het basiselement is competitie
- Het element competitie bevat:
- een element clubs dat alle gegevens van de clubs bevat.
- een element personen dat de gegevens bevat van de voetballers en de scheidsrechters.
- een element speeldagen dat de gegevens bevat van alle speeldagen.
Het element clubs heeft volgende structuur:
- Het bevat 1 of meer elementen van het type club.
- Het element club bevat:
- een attribuut id.
- één element naam.
- één element clubkleuren, waarvan de waarde steeds een '-' bevat.
- één element oprichtingsdatum, waarvan de waarde steeds van de vorm 'dd/mm/yyyy' is.
- één element logo, waarvan de waarde steeds eindigt op '.jpg'.
- één element website.
- één element stadion.
Het element stadion bevat volgende elementen:
-
één element naam.
-
één element capaciteit, waarvan de waarde steeds een positief geheel getal is.
-
één element adres.
Het element adres bevat volgende elementen:
-
één element straat.
-
één element nummer, waarvan de waarde een positief geheel getal is.
-
één element gemeente.
Het element gemeente bevat volgende elementen:
- één element naam.
- één element postcode, waarvan de waarde steeds uit vier cijfers bestaat.
Het element personen heeft volgende structuur:
- Het bevat één of meerdere elementen van de types voetballer en scheidsrechter in een willekeurige volgorde.
- Het element scheidsrechter bevat:
- een attribuut id.
- een attribuut nationaliteit.
- een element naam.
- een element foto, waarvan de waarde steeds eindigt op ".jpg".
- Het element voetballer bevat de volledige structuur van een scheidsrechter maar bevat ook nog volgende extra elementen:
- één element positie, die een waarde doelman,verdediger,middenvelder of aanvaller kan bevatten.
- één element werkgevers
Het element werkgevers heeft volgende structuur:
- Het bevat één of meerdere elementen van het type werkgever
-
Het element werkgever bevat:
- een attribuut naam, dat verwijst naar één van de clubs. De waarde is het jaartal (vier cijfers) waarin de voetballer in de club speelde.
Het element speeldagen heeft volgende structuur:
- Het bevat nul of meerdere elementen van het type speeldag.
- Het element speeldag bevat:
- exact 8 elementen van het type match.
Het element match heeft volgende structuur:
- exact 2 elementen ploeg.
- één element referee bestaande uit een attribuut naam dat verwijst naar de juiste scheidsrechter. De waarde van het element is steeds leeg.
- één element dag van de vorm dd/mm/yyyy.
- één element uur van de voor uu:mm:ss.
- één element aantaltoeschouwers waarvan de waarde een positief geheel getal is.
Het element ploeg bevat:
- een verplicht attribuut locatie dat de waarde "uit" of "thuis" kan hebben
- een verplicht attribuut club dat verwijst naar de club.
- één element van het type opstelling
- nul of één element van het type wissels
Het element opstelling bevat:
- 11 tot 14 elementen van het type speler
Het element speler bevat:
- een verplicht attribuut naam dat verwijst naar de juiste voetballer
- nul of één element kaart
- nul of meer elementen doelpunt, de waarde is een positief geheel getal < 100.
- nul of meer elementen owndoelpunt, de waarde is een positief geheel getal < 100.
Het element kaart bevat:
- één element kleur, dat een waarde rood of geel kan bevatten
- één element minuut, dat een positief geheel getal < 100 kan bevatten.
Het element wissels bevat:
- één tot 3 elementen wissel.
Het element wissel bevat:
- een verplicht attribuut in, verwijst naar de speler die invalt.
- een verplicht attribuut uit, verwijst naar de speler die verdwijnt.
- De waarde is een postief getal < 100.
Afgeven
Jouw oplossing van zowel het Xml Schema en de DTD geef je af in de directory xml die je kan vinden binnen de directory netwerken2 op je U-drive. Dit doe je voor 12u vrijdag 02/10. Oplossingen die te laat ingediend worden zullen gesanctioneerd worden.
Labo 2: XSLT en XPath
Labo 2: XSLT en XPath
Voor deze opgave is het de bedoeling dat je drie html-pagina's clubs.html, personen.html en statistieken.html maakt op basis van de xml-bestanden
uit de vorige opgave.
Clubs.html
Maak een bestand club.xsl dat startend van clubs.xml, de webpagina clubs.htm maakt. Alle clubs in dit bestand staan in alfabetische volgorde op naam.
Personen.html
Maak het bestand personen.xsl dat op basis van het bestand personen.xml, de webpagina maakt die je hier kan vinden.
Zorg ervoor dat alle doelmannen, verdedigers, middenvelders, aanvallers en scheidsrechters gegroepeerd zijn. Binnen een groep zijn ze eerste gesorteerd op ploeg en nadien alfabetisch gesorteerd.
Statistieken.html
Maak het bestand statistieken.xsl dat op basis van het bestand competitie.xml, de webpagina maakt die je hier kan vinden.
Zorg dat alle namen van spelers verwijzen naar de juiste persoon in personen.html, zorg ook dat de namen van de clubs verwijzen naar de juiste club in het bestand clubs.html. Voor het koppelen van de naam aan
de juiste persoon ga je gebruikmaken van een absolute verwijzing in de xml-boom, dit kan zorgen voor een trage opbouw van de html-file. Je kan dit versnellen door gebruik te maken van xsl:key, meer informatie kan je hier vinden.
Voor alle vragen ivm syntax voor het maken van tabellen, links enz... Verwijs ik naar de handleiding HTML.
Afgeven
Plaats u oplossing in de directory Xslt die je kan vinden binnen de directory netwerken2 op je U-drive. Dit doe je voor 13u dinsdag 06/10. Oplossingen die te laat ingediend worden zullen gesanctioneerd worden.
Oplossing
Een mogelijke oplossing kan je hier vinden.
|