Oefening 5.3.4: Het creëren en gebruiken van globale types
In deze oefening gaan we het schema “Procesdocumentatie4.xsd”, dat je in de voorgaande oefening hebt bewaard zo aanpassen dat we geen redundant definities meer in het schema hebben staan.
Bewaar gedurende de onderstaande oefeining wederom zelf regelmatig het bestand.
Opdracht
- Ga naar het XML-Schema ‘Procesdocumentatie4.xsd’ dat je in de voorgaande oefening hebt vervaardigd of open het opnieuw in ‘Altova XMLSpy’;
- Wijzig zo nodig de editing modus naar “Text”;
Klantgegevens
- We hebben in het XML-Schema op 3 locaties het element
<klantgegevens>gedefinieerd. Knip het element<xs:complexType>dat direct in de elementdefinitie van<klantgegevens>binnen de structuur voor<orderbon>staat en plak deze onderaan het schema direct binnen het element<xs:schema>; - Definieer op het element
<xs:complexType>dat we zojuist geplaatst hebben eennameattribuut en geef dat de waardeKlant; - Maak van het element
<klantgegevens>waaruit we zojuist het element<xs:complexType>hebben geknipt een leeg element en plaats er het attribuuttypemet de waarde ‘Klant’ op; - Doe met de twee andere
<klantgegevens>elementen in het XML-Schema hetzelfde. Daarvoor moet je daar het<xs:complexType>verwijderen; - Bewaar het bestand;
- Wijzig de editing modus naar “Schema” en klik op ‘orderbon’;
- Je ziet nu het schema in een grafische structuur waarin je de verschillende XML-Schema componenten open en dicht kunt klikken door op de plusjes of minnetjes achter de elementnamen te klikken. Klik ‘klantgegevens’ open;
- Je ziet nu een geel vlak met linksbovenin de naam ‘Klant’. Dit gele vlak vertegenwoordigd de ‘complexType’ op het hoogste niveau dat we zojuist hebben vervaardigd;
- Via de knop
linksboven kun je weer terug naar de vorige view. Bekijk ook even de grafische structuur voor ‘factuur’ en ‘betaalbevestiging’; - Wijzig de editing modus weer naar “Text”.
Herhaal de techniek
- Kijk nu of je dezelfde techniek als hierboven los kunt laten op de elementen
<naam>,<adres>,<ordergegevens>,<artikel>en<leveringsgegevens>maar LET OP! vervang de inhoud van de elementen<ordergegevens>en<artikel>binnen<factuur>nog niet. Dat laatste element ziet er daar nl. iets anders uit dan op de andere plaatsen. Het bevat daar nl. ook het element<stuksprijs>. - Pas dezelfde techniek toe op het element
<ordergegevens>binnen<factuur>maar noem die complexType ‘FactuurOrder’; - Pas ook weer dezelfde techniek toe op het element
<artikel>binnen de complexType ‘FactuurOrder’ en noem dat complexType ‘ArtikelMetPrijs’; - Bewaar het bestand en bekijk de root elementen weer in Schema view.
SimpleType
- Op
<xs:simpleType>elementen kun je dezelfde techniek toepassen. Doe dat op de elementen<voorletters>,<postcode>,<ordernummer>en het attribuutafleverstatus; - Bewaar het bestand, bewaar het ook meteen als “Procesdocumentatie5.xsd” en bekijk de root elementen weer in Schema view.