<< Chapter < Page Chapter >> Page >
En præsentation af opbygning og brug af en DTD med udgangspunkt i en informationsmodel

Dtd – document type definition

1. dokument – informationsmodel – dtd

Udgangspunkt for fremstillingen i dette modul er det XML-dokument som er vist i fig.1 nedenfor. Vi vil gerne sikre os, at dokumenten er både velformet og gyldigt . Velformet er dokumentet, når det overholder de syntaksregler som gælder for XML jf. (External Link) . At et XML-dokument er gyldigt , vil sige at det er i overensstemmelse med en foreliggende standard for opmærkning, den standard som kaldes en DTD, en Document Type Definition .

En DTD fastlægger

  • hvilke elementer der forekommer i et XML-dokument
  • hvor mange gange det enkelte element forekommer
  • i hvilken rækkefølge elementerne forekommer

I det følgende vil vi (1) anskue en DTD som en implementeret informationsmodel , dernæst (2) se nærmere på reglerne for hvordan man skal bygge og notere informationerne i en DTD, og endelig (3) se nærmere på hvordan en DTD bruges sammen med et XML-dokument.

2. fra dokument til informationsmodel

2.1 opmærkningen

Udgangspunkt er opmærkningen af nedenstående lydbog (ex1):

<online_katalog><bog><forfatter nation="dk"><fornavn>Jørgen</fornavn><efternavn>Leth</efternavn></forfatter><impressum><titel>Det uperfekte menneske</titel><forlag sted="København">Gyldendal</forlag><udgivet>2007</udgivet><ISBN format="lydbog" volumen="11T:36M">978-87-02-06068-3</ISBN><pris>kr. 298</pris></impressum><stof><handling>Cool, elegante, morsomme og selvudslettende historier fra et uperfekt liv med litteratur,film, sport, kvinder og rejser. Digteren, filminstruktøren og Tour de France-kommentatorenm.m. har skrevet en erindringsbog af de sjældne, som samtidig tegner et portræt af danskkulturliv gennem de sidste 40 år. Jørgen Leths karakteristiske stemme fører lytteren gennem enaf dette årtis mest omtalte bøger.</handling><genre>biografi</genre><original_titel>Det uperfekte Menneske</original_titel></stof></bog></online_katalog>

Denne opmærkning vil vi gerne bruge som standard ved opmærkning af bogtitler. Det er derfor vigtigt at give en beskrivelse af denne standard således at alle nye og tilkomne titler følger samme opmærlning. Det kræver at der udarbejdes en oversigt over hvilke elementer og attributter der indgår i opmærkningen. En sådan oversigt kaldes også for en informationsmodel og har vi først uadarbejdet en informationsmodel, kan vi bruge denne som grundlag for at udvikle en DTD.

2.2 informationsmodellen

Informationsmodellen kommer til at se således ud (ex2):

1. BOG prototypen – strukturelement, container for den samlede beskrivelse af en bog 1.1 FORFATTER strukturelement; indgang til informationer om denaktuelle forfatter ATTRIBUT: nation: angiver forfatters nationalitet1.1.1 FORNAVN tekstelement; indeholder forfatterens fornavn 1.1.2 EFTERNAVN tekstelement; indeholder forfatterens efternavn1.2 IMPRESSUM strukturelement; indgang til alle informationer om bogens udgivelse1.2.1 TITEL tekstelement; indeholder bogens titel 1.2.2 FORLAG tekstelement; indeholder navnet på forlagetATTRIBUT: sted: angiver hjemsted for forlaget 1.2.3 UDGIVET tekstelement; indeholder året for udgivelsen1.2.4 ISBN tekstelement; indeholder bogens ISBN-nummer ATTRIBUT: format: angiver udgivelsens format:”heftet”, ”indbundet” eller ”lydbog” ATTRIBUT: volumen: angiver sidetal eller varighedfor en lydbog 1.2.5 PRIS tekstelement; indeholder indkøbspris1.3 STOF strukturelement; indgang til informationer om en bogs handling, genre og orignaltitel1.3.1 HANDLING tekstelement; indholder et indholdsresume, typisk svarende til indholdet angivet på bogens bagside1.3.2 GENRE tekstelement; indeholder angivelse af genre 1.3.3 ORIGINAL_TITEL tekstelement; indeholder angivelseaf originaltitel, er specielt relevant for oversat litteratur

Med denne oversigt, det vi kalder en formaliseret informationsmodel, har vi dannet os et samlet overblik over elementerne i modellen, over relationerne mellem elementerne, og over mulige attributter i et standarddokument. Enhver ny bog som skal indgå i ONLINE_KATALOG skal beskrives og opmærkes som XML-dokument i henhold til modellen i ex2.

Næste skridt bliver at implementere beskrivelsen i form af en DTD som vi kan bruge til at validere alle nye beskrivelser. At validere et dokument vil sige at fastlægge om der er tale om et gyldigt XML-dokument, et dokument som lever op til standarden.

3. dtd: en implementeret standard for opmærkning

En DTD, en Document Type Definition , er en standard, en deklaration , som angiver hvilke navngivne elementer der kan forekomme i en bestemt type XML-dokumenter, hvor mange gange elementerne forekommer, og i hvilken rækkefølge . På denne måde deklarerer og standardiserer en DTD et særligt vokabular , mængden af navngivne elementer og eventueller attributter, og en særlig struktur, relationen mellem elementer, for forekomster af en type XML-dokumenter.

3.1 syntaks

Der gælder en særlig syntaks for opbygningen af en DTD (jf. (External Link) ):

  1. Alle elementer i en DTD beskrives inden for tegnene<og>, samme notation som gælder for angivelsen af tags i XML.
  2. Med tegnet ’!ELEMENT’ angives at der er tale om en PI.
  3. Betegnelsen ELEMENT er et reserveret ord i XML, forbeholdt denne funktion i en DTD.

Questions & Answers

how to create a software using Android phone
Wiseman Reply
how
basra
what is the difference between C and C++.
Yan Reply
what is software
Sami Reply
software is a instructions like programs
Shambhu
what is the difference between C and C++.
Yan
yes, how?
Hayder
what is software engineering
Ahmad
software engineering is a the branch of computer science deals with the design,development, testing and maintenance of software applications.
Hayder
who is best bw software engineering and cyber security
Ahmad
Both software engineering and cybersecurity offer exciting career prospects, but your choice ultimately depends on your interests and skills. If you enjoy problem-solving, programming, and designing software syste
Hayder
what's software processes
Ntege Reply
I haven't started reading yet. by device (hardware) or for improving design Lol? Here. Requirement, Design, Implementation, Verification, Maintenance.
Vernon
I can give you a more valid answer by 5:00 By the way gm.
Vernon
it is all about designing,developing, testing, implementing and maintaining of software systems.
Ehenew
hello assalamualaikum
Sami
My name M Sami I m 2nd year student
Sami
what is the specific IDE for flutter programs?
Mwami Reply
jegudgdtgd my Name my Name is M and I have been talking about iey my papa john's university of washington post I tagged I will be in
Mwaqas Reply
yes
usman
how disign photo
atul Reply
hlo
Navya
hi
Michael
yes
Subhan
Show the necessary steps with description in resource monitoring process (CPU,memory,disk and network)
samuel Reply
What is software engineering
Tafadzwa Reply
Software engineering is a branch of computer science directed to writing programs to develop Softwares that can drive or enable the functionality of some hardwares like phone , automobile and others
kelvin
if any requirement engineer is gathering requirements from client and after getting he/she Analyze them this process is called
Alqa Reply
The following text is encoded in base 64. Ik5ldmVyIHRydXN0IGEgY29tcHV0ZXIgeW91IGNhbid0IHRocm93IG91dCBhIHdpbmRvdyIgLSBTdGV2ZSBXb3puaWFr Decode it, and paste the decoded text here
Julian Reply
what to do you mean
Vincent
hello
ALI
how are you ?
ALI
What is the command to list the contents of a directory in Unix and Unix-like operating systems
George Reply
how can i make my own software free of cost
Faizan Reply
like how
usman
hi
Hayder
The name of the author of our software engineering book is Ian Sommerville.
Doha Reply
what is software
Sampson Reply
the set of intruction given to the computer to perform a task
Noor
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xml og xslt - en introduktion. OpenStax CNX. Mar 03, 2009 Download for free at http://cnx.org/content/col10642/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xml og xslt - en introduktion' conversation and receive update notifications?

Ask