Oefening 5.3.6: Extensions en restrictions
Men wil een aantal wijzigingen aanbrengen in de procesdocumenten.
Orderbon
- hierop mag het adres alleen nog maar bij de leveringsgegevens worden vermeld;
- Het element
<omschrijving>binnen<artikel>mag nog maar 30 lang zijn.
betaalbevestiging
- het type klant (Goud, Zilver of Normaal) hoeft hierop niet meer op getoond te worden;
- het adres in
<klantgegevens>hoeft alleen nog maar de elementen<straatnaam>,<huisnummer>en<postcode>te bevatten. De elementen<huisnummer-toevoeging>en<woonplaats>komen hierop te vervallen; - aan het
<artikel>moet het element<stuksprijs>` worden toegevoegd.
Binnen factuur blijft alles zoals het was.
Bewaar gedurende de onderstaande oefeining wederom zelf regelmatig het bestand.
Opdracht
- Ga naar het XML-Schema ‘Procesdocumentatie6.xsd’ dat je in de voorgaande oefening hebt vervaardigd of open het opnieuw in ‘Altova XMLSpy’;
- Om zonodig deze opdracht opnieuw te kunnen doen is het wellicht verstandig het bestand nog even onder een andere naam te bewaren;
- Wijzig zo nodig de editing modus naar “Text”;
- We willen een XML-Schema realiseren waarin we zoveel mogelijk hergebruik maken van
xs:complexTypeconstructies. Maak voor jezelf een overzicht waarin duidelijk wordt welkexs:complexTypeconstructies als basis kunnen dienen voorxs:extensionofxs:restrictionconstructs in anderexs:complexTypes.
Tip Eenxs:complexTypehoeft niet persé gebruikt te worden in het XML-Schema, het mag ook alleen dienen als basis voor een anderxs:complexType. Zo’nxs:complexTypemag je zelfs abstract maken door er het attribuutabstractop te definiëren met de waarde ’true’; - Breng op basis van het overzicht wijzigingen aan in het XML-Schema;
- Ga naar “DTD/Schema - Generate Sample XML/JSON/YAML File…”;
- Kies in het menu “Generate sample XML file” het element
<orderbon>en klik op “OK”; - Check of je de bovenaan deze opdracht beschreven wijzigingen inderdaad hebt weten te realiseren en check ook of er niet tegelijkertijd ongewenste neveneffecten zijn opgetreden. Corrigeer zonodig het XML-Schema waar nodig en check dat vervolgens ook weer. Het gegenereerde bestand hoeft niet bewaard te worden;
- Herhaal de stappen 6 t/m 8 voor de andere documenten (‘betaalbevestiging’ en ‘factuur’);
- Bewaar het bestand ook meteen als “Procesdocumentatie7.xsd”.