Had jij altijd al willen weten wat XML is? Of behoor je tot de mensen, waar ik me in het verleden ook onder schaarde, die dachten dat dit weer een commerciële truuk is, die nog in de kinderschoenen staat van de grote firma MicroSoft, om de markt een verbeterde standaard te brengen? Nu, dan is deze cursus precies wat jij nodig hebt.
In deze cursus van zeven delen, gaan we alleen de basis behandelen. We gaan kijken waar XML nu vandaan komt, wat SGML is, hoe je van HTML naar XML gaat en wat XML is. Dan gaan we XML pagina's maken en we gaan ook de koppeling zien van XML en CSS. Aan het eind van deze cursus kan je dan ook een echte webpagina maken met dynamische inhoud.
In dit deel gaan we de principes van een DTD (Document Type Definition) bekijken en leren samenstellen.
DTD:
Er bestaan interne en externe DTD's, het gebruik van DTD's is niet verplicht maar wel aan te raden.
Twee belangrijke punten:
1) Een XML-document kan well-formed zijn.
2) Een XML-document kan ook valided of geldig genoemd worden.
Een XML-document zonder DTD:
- Kan grammaticaal goed in elkaar zitten ("well formed")
- Maar kan niet valide of geldig genoemd worden (daarvoor moet het een DTD bevatten)
Voordeel van het gebruik van DTD
Wanneer je gaat samenwerken, staat in een DTD omschreven:
- Welke elementen in een documenten kunnen en mogen voorkomen,
- In welke volgorde ze mogen voorkomen en
- Wat voor type inhoud ze mogen bevatten.
Voorwaarde:
- Als er een DTD is, moet deze goed in elkaar zitten en iedereen moet zich aan deze DTD houden.
- Alles staat of valt met de regels er om heen.
Wat is een DTD:
- Met behulp van een DTD kunnen we regels opleggen aan een XML-document.
- Om een valid (of geldig) XML-document te krijgen, moet het document voldoen aan de gestelde
eisen van de bijhorende DTD.
- Een DTD bepaald welke elementen moeten of kunnen aanwezig zijn.
- Een DTD declareert het hoofdelement (root), alle kinderen (child elements) van dit hoofdelement, het type van elk element en de volgorde waarin de elementen moeten voorkomen.
- Ook attribuutdeclaraties, identiteiten, notaties, ...
- DTD bepaalt hoe de structuur van de gegevens moeten zijn.
- Handig bij het uitwisselen van gegevens.
Een DTD toevoegen:
- We voegen een DTD toe aan een XML-document door middel van een Document Type Declaration.
Een Document Type Declaration bestaat uit:
- één regel als het een referentie legt naar een extern DTD-bestand;
- meerdere regels als het een interne DTD is;
- combinatie van de twee.
Een interne DTD:
<?xml version="1.0" ?>
<!DOCTYPE memo [
<!ELEMENT memo (aan,
van, kop, tekst)>
<!ELEMENT aan (#PCDATA)>
<!ELEMENT van
(#PCDATA)>
<!ELEMENT kop (#PCDATA)>
<!ELEMENT tekst
(#PCDATA)>
]>
Zoals je kan zien wordt de DTD direct onder de XML-declaratie.
- DOCTYPE moet in hoofdletters.
Zie voorbeeld vb01.
Een externe DTD:
<!DOCTYPE memo SYSTEM "vb02_memo.dtd">
- Ook de Document Type Declaration moet direct onder de XML-declaratie komen.
- SYSTEM moet in hoofdletters.
Code in het externe DTD-bestand:
<!ELEMENT memo (aan, van, kop, tekst)>
<!ELEMENT aan
(#PCDATA)>
<!ELEMENT van (#PCDATA)>
<!ELEMENT kop
(#PCDATA)>
<!ELEMENT tekst (#PCDATA)>
Zie voorbeeld vb02.
Dit was het voor deze week, volgende week gaan we verder op de DTD. We gaan namelijk elementen toevoegen.
Véél succes Joël.