Oefening 5.3.6: Extensions en restrictions
In deze oefening gaan we het schema “Procesdocumentatie6.xsd”, dat je in de voorgaande oefening hebt bewaard zo aanpassen dat we …
Bewaar gedurende de onderstaande oefeining wedrom 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 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”.
- Kijk nu of je dezelfde techniek 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 “Procesdocumentatie6.xsd” en bekijk de root elementen weer in Schema view.