DTD - Inleiding. Document Type Definitions (DTDs)



Vergelijkbare documenten
XML Introductie.

XML & XSLT voor DMO. Datamodellering Een XML datamodel. conceptueel model logisch / fysiek model: platform afhankelijk

Veel informatie over XML en bijbehorende zaken (zoals DTD, XSL etc.) is te vinden via de Home page van XML 101 (URL: ).

SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.

Software 1. Basis HTML. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar semester 1

XML & XSLT voor DMO. Een XML datamodel. Van ERD naar XML schema. XML en XSLT DMO Datamodellering 2008

Frontend ontwikkeling

Internet_html.doc 1/6

Eindtoets XML: Theorie en toepassingen

Oefenvragen OMI eerste helft

Leeswijzer Uitwisselingstalen

SQL datadefinitietaal

HTML elementen en attributen (volgens de Strict DTD)

XML Datafeeds. Volledig geautomatiseerd advertenties plaatsen V

Zelftest XML Concepten

BEFDSS. Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/ / 6

Agenda. Wat is HTML? Meer over HTML... Waarom HTML leren? Aniel Bhulai. Inleiding Computergebruik - HTML 1. Waarin maak je een HTML-bestand?

Ontwerprichtlijnen voor XML-Schemadefinities

DocBook XML documenten bewerken

BWB XML DTD. Beschrijvende documentatie bij de DTD voor het BasisWettenBestand

Schema. Schema - Inleiding. <hoofdstuk> </hoofdstuk> DTD? Eenstapjeverder. Schema XML

Wat is een child-theme?

1. Milieuklacht Handleiding opladen XML in mkros Werken met Refertes... 5

Instructie Abonnementsgebied in Bravo SVB-BGT Bravo

Deze actie kadert binnen het project SOLABIO-'Soorten en landschappen als dragers voor biodiversiteit', mede gefinancierd door het Europees programma

Nederlands WMS - SLD Profiel. Versie 1.0

XML Datafeeds. Volledig geautomatiseerd advertenties plaatsen V

HTML. Tabellen. Hans Roeyen V 3.0

Cluster 1 Realiseert. 4 Beschrijving van de beroepssituatie behorende bij deze leereenheid

Info-books. Toegepaste Informatica. Deel 35: XML - XSL HO35. Jos Gils Erik Goossens

XSL = XSLT + XSL-FO + XPath

Externe pagina s integreren in InSite en OutSite

Inhoud leereenheid 2. Beginselen van XML. Introductie 55. Leerkern 55. Zelftoets 85. Terugkoppeling 87

Module XML. Algemene XML sites

Workshop XIMPEL TV Winoe Bhikharie Vrije Universiteit Amsterdam / info@ximpel.net

Module V - XML. Stefan Flipkens - Cursus: Internet - Intranet ( ) V 1

Dit teneinde 90plus toe te laten periodiek de wijn lijst te downloaden en de prijs database gesynchroniseerd te houden met die van de handelaar.

Een webpagina maken. Een website bouwen met HTML en CSS practicum 1

Web building basis: HTML. Karel Nijs 2008/09

Inhoudsopgave. Inhoudsopgave Het XML bestand

BIM-validatietool Toetst data bij aanlegprojecten

DT, PVdB - WS-A headers in SOAP Response - validaties op WS-A headers en customer identificatie - soap faults bij skipped requests en WSDLongeldige

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

Edifact / IHFN Reference guide 7/10/2004. Identificatie

HTML5 overzicht Tag Uitleg Versie Attributen

Y.S. Lubbers en W. Witvoet

Report generator Gegevens zoeken en kolommen selecteren Rapporten opslaan en beheren... 6

Standaarden en richtlijnen epv. Versienummering. Datum 19 december Onderwerp Standaarden en richtlijnen Versienummering

axml Order specificatie

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

MWW orders feed. Algemene orders feed in XML format

HTTP SMS API Technische Specificatie messagebird.com versie mei 2014

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

Instructie Abonnementsgebied in Bravo

MWW orders feed. Algemene orders feed in XML format

Met het element <table> kan je een tabel invoegen, met </table> sluit je de tabel terug af.

Technisch Framework OWMS 3.5

Instructie Abonnementsgebied in Bravo

li d a l n s V a l GEMEENTE MAARTENSDIJK r Nbo bestemmingsplan buitengebied g g Nbo Nbo Schaal 1:5000 plankaart noord

Reporting System CPA 2006

Module IV - Cascading Style Sheets (CSS)

1 XML/CSV documentatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Lab Webdesign: Javascript 11 februari 2008

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Standaardisatie. XML Schema Definition. Architectuurprincipes. Versie document 1.0. Datum:

XSD.

GEBRUIKERSHANDLEIDING TESTCASE GENERATOR

HTML en CSS gevorderd

SEPA formaten - inleiding tot XML. versie maart ing.be/sepa

Single Sign-On in ZIVVER met Okta

Metro Simulatie. 1 Samenvatting. 2 Context

Aanleverspecificaties. voor Producten. Versie 1.0

MRI IN CSV FORMAAT. Beschrijving bestandsindeling. Definitieve versie. Equens SE 25 juli Versie 1.7


Zelftest Inleiding Programmeren

Inleiding C++ Coding Conventions

Dynamische websites met PHP (basis) Karel Nijs 2010/09

TradeTracker. Handleiding voor implementatie productfeeds in het CSV of XML formaat INT 09-M023_NL

Adlib Gebruikersdag adlibxml/xslt in de praktijk Breukelen 2 mei 2013 Solino de Baay s.debaay@adlibsoft.com

Maak kennis met XML. Introductie. LinuxFocus article number door Floris Lambrechts <floris/at/linuxfocus.

Schrijven voor het web. 1TIN Internettechonologie les 02 1

Hole charts & Hole Tables

Introductie OWMS 3.5

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM

Transcriptie:

DTD <hoofdstuk> <titel>document Type Definition</titel> <deel>inleiding</deel> <deel>dtd - Elementen</deel> <deel>dtd - Attributen</deel> <deel>dtd - Commentaar</deel> <deel>dtd En verder...</deel> <deel>dtd Structuur</deel> <deel>dtd Contra s</deel> <deel>dtd Software</deel> <deel>oefening</deel> </hoofdstuk> <p>1</p> DTD - Inleiding Document Type Definitions (DTDs) Definieert de structuur van een XML document Welke elementen, attributen, entiteiten mogen voorkomen De volgorde van de elementen Hoe vaak ze mogen of moeten voorkomen De onderlinge relatie Het soort inhoud XML document moeten geen DTD hebben Een DTD kan intern of een extern tekstbestand zijn De beschrijving van DTD staat in de XML 1.0 documentatie. Zie http://www.w3.org/tr/rec-xml.html Valid XML Document <p>2</p>

Waarom DTD s gebruiken? DTD - Inleiding Om afgesproken structuur af te dwingen bij het creëren en editeren van een xml-document Zeer belangrijk indien meerdere auteurs gelijkaardige documenten moeten aanmaken Als structuur definitie, of contract bij het uitwisselen van informatie (controleren wat wordt verzonden en wat wordt ontvangen) Als framework/beperking bij de ontwikkeling van processing/conversie - tools(xslt,...) Opmerking: In de document wereld is DTD (en dit zal wellicht nog lang zo blijven) de voorkeur schema -taal <p>3</p> DTD - Inleiding Parsers : 2 soorten Validating parsers Vereisen een DTD of een schema Bepalen of XML document conform DTD of schema Als een document valid is, dan is het bij definitie ook well formed Een document kan well formed zijn, maar niet valid Non validating parsers Kunnen DTD of schema lezen Maar kunnen niet controleren of document conform DTD, schema <p>4</p>

DTD - Inleiding Document type declaratie Intern In de proloog van XML document <!DOCTYPE documenttype-naam [element-declaraties]> Of Extern Een tekstbestand met extensie.dtd In XML bestand verwijs je naar DTD <!DOCTYPE documenttype-naam SYSTEM extern.dtd > Of combinatie <!DOCTYPE documenttype-naam SYSTEM extern.dtd [element-declaraties]> Bevat Beschrijving van elementen Beschrijving van attributen Entiteiten <p>5</p> DTD - Inleiding <?xml version= 1.0?> Standalone= no?> <!DOCTYPE memo SYSTEM extern.dtd > <memo> <aan>jan</aan> <van>piet</van> <kop>let op</kop> <tekst>dit is een voorbeeld met een externe dtd</tekst> </memo> <!--DTD voor memo--> <!ELEMENT memo (aan, van, kop,tekst)> <!ELEMENT aan (#PCDATA)> <!ELEMENT van (#PCDATA)> <!ELEMENT kop (#PCDATA)> <!ELEMENT tekst (#PCDATA)> <p>6</p>

DTD Elementen Element type declaraties Aanmaken voor elk element in XML document <!ELEMENT elementnaam ContentModel> Verschillende ContentModels (= specificatie van de inhoud element) ANY EMPTY #PCDATA : enkel character data Opsomming van de kinderen : volgorde en frequentie Mixed content model : PCDATA en kind elementen <p>7</p> DTD Elementen ANY Het element kan elk element bevatten PCDATA in de DTD gedefinieerde elementen of combinatie Valid of niet valid? <paragraaf/> <paragraaf> <!ELEMENT paragraaf ANY> blabla, geschreven door <auteur>jan</auteur> </paragraaf> <paragraaf> <omschrijving>blabla</omschrijving> <auteur>jan</auteur> </paragraaf> <p>8</p>

DTD Elementen EMPTY Elementen bevatten geen character data Elementen bevatten geen kinderen Mag wel attributen bevatten <!ELEMENT image EMPTY> <!ELEMENT hr EMPTY> Valid of niet valid? <image href= picture1.gif width= 120 height= 70 /> <image href= picture1.gif width= 120 height= 70 ></image> <image href= picture1.gif width= 120 height= 70 > </image> <hr/> <HR/> <p>9</p> DTD Elementen PCDATA Parsed Character Data Element moet parsable data bevatten, dus geen <,>,&,, <!ELEMENT name (#PCDATA)> Valid of niet valid? Ken Sal <first>ken</first> 1.8 <name/> Ken&Sal <p>10</p>

Opsomming van de kinderen DTD Elementen Opgave van de volgorde van de elementen Symbool Gebruik Omschrijving, Element A, Element B Element A en Element B moeten voorkomen. Volgorde is belangrijk Element A Element B Element A of Element B moet voorkomen (exclusieve OR) () (ElementA Element B), Groepering. Element A of Element B ElementC moeten voorkomen, gevolgd door Element C <!ELEMENT Name (first, middle, last) <p>11</p> DTD Elementen <!ELEMENT Name (first, middle, last) Valid of niet valid? <middle>brian</middle> <middle/> <middle>brian</middle> <p>12</p>

DTD Elementen Opgave van de frequentie van de elementen Symbool Gebruik Omschrijving Element A 1 voorkomen van kind? Element A? 0 of 1 voorkomen van kind + Element A+ 1 of meer voorkomens van kind * Element A* 0 of meerdere voorkomens van kind Deze frequenties kunnen ook toegepast worden op elementgroepen <!ELEMENT Name (first, middle?, last) <!ELEMENT Name (first, middle*, last) <p>13</p> DTD Elementen <!ELEMENT Name (first, middle*, last) Valid of niet valid? <middle>brian</middle> <middle>brian</middle> <middle/> <middle>james</middle> <middle>john</middle> En wat i.g.v. <!ELEMENT Name (first, middle?, last) <p>14</p>

DTD Elementen Opmerking De, bepaalt een vaste volgorde in de elementen <!ELEMENT vlucht (vertrekplaats, vertrekuur)> Hoe heffen we de beperking op? <!ELEMENT vlucht (vertrekplaats vertrekuur)*> of <!ELEMENT vlucht ((vertrekplaats,vertrekuur) (vertrekuur vertrekplaats))> Deterministische content models ((A,B) (A,C)) niet toegestaan Wel (A,(B C)) <p>15</p> DTD Elementen Mixed Content Bevat zowel PCDATA als child-elementen Beperkingen PCDATA element moet altijd als eerste worden opgegeven is verplicht tussen de child elementen * is verplicht na ) Frequentie indicatoren voor child elementen zijn verboden <!ELEMENT vlucht (#PCDATA vertrekplaats vertrekuur)*> <p>16</p>

DTD Elementen <?xml version = "1.0" standalone = "yes"?> <!DOCTYPE format [ <!ELEMENT format ( #PCDATA bold italic )*> <!ELEMENT bold ( #PCDATA )> <!ELEMENT italic ( #PCDATA )> ]> Valid of niet valid? <format> This is a simple formatted sentence. <bold>i have tried bold.</bold> <italic>i have tried italic.</italic> Now what? </format> <format> <bold>i have tried bold.</bold> <bold>i have tried bold.</bold> Now what? </format> <p>17</p> DTD - Attributen Attributen declaratie <!ATTLIST elementnaam AttribuutDefinitie+> attribuutdefinitie bestaat uit: attribuutnaam attribuuttype attribuutdefault Attributen worden steeds geassocieerd aan elementen. Een element kan meerdere attributen bevatten Eenzelfde attribuut kan gebruikt worden in verschillende elementen, eventueel met een ander type en waarde (bvb ID) Attributen kunnen verplicht of optioneel zijn, en kunnen een standaardwaarde hebben of een vaste waarde Elk attribuut binnen een element kan slechts één maal worden gespecifieerd, de volgorde speelt echter geen rol. Attributen kunnen in beperkte mate getypeerd worden (10 types) <!ELEMENT ValidRange EMPTY> <!ATTLIST ValidRange low CDATA #REQUIRED high CDATA #REQUIRED> <p>18</p>

DTD - Attributen Attribuut typen (10 types) CDATA Gewone tekst string Alle tekens toegelaten met uitzondering van <, >, &, and <!ELEMENT product (naam, omschrijving, prijs)> <!ATTLIST product productnr CDATA #REQUIRED> Enumerated Lijst van waarden : (Man Vrouw) Je mag slechts 1 van die waarden opgeven <!ELEMENT persoon (naam, voornaam)> <!ATTLIST persoon geslacht (Man Vrouw) #REQUIRED> <p>19</p> Tokenized attributen DTD - Attributen Leggen een beperking op de toegelaten characters voor de attribuutwaarde ID : een uniek id binnen XML document. Mag niet beginnen met een cijfer. IDREF : wijst naar een element met ID-attribuut IDREFS : meerdere verwijzingen naar geldige ID-waarden. Verschillende waarden gescheiden door spatie Valid of niet valid? <!ELEMENT personen (persoon)> <!ELEMENT persoon (#PCDATA)> <!ATTLIST persoon persoonid ID #REQUIRED vaderid IDREF #IMPLIED kindids IDREFS #IMPLIED> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE personen SYSTEM "persoon.dtd"> <personen> <persoon persoonid="p2" vaderid="p1">piet</persoon> <persoon vaderid="p1" persoonid="p3">klaas</persoon> <persoon persoonid="p1" kindids="p2 p3">jan</persoon> <persoon persoonid="p1" kindids="p4"> An</persoon> <p>20</p>

DTD - Attributen NMTOKEN (name token): de waarde is een geldige XML naam (mix van letters(a-z,a-z), cijfers, _,-, komma of punt) NMTOKENS : door spatie gescheiden lijst van NMTOKEN <!ELEMENT MyNMToken EMPTY> <!ATTLIST MyNMToken value NMTOKEN #REQUIRED> Valid of niet valid? <MyNMToken value= 123 /> <MyNMToken value= abc /> <MyNMToken value= +123 /> <MyNMToken value= abc123 /> <MyNMToken value= abc_123-abc.123 /> <p>21</p> DTD - Attributen ENTITY : heeft een waarde die gelijk moet zijn aan een gedeclareerde entiteit ENTITIES : lijst van ENTITY gescheiden door spatie NOTATION : heeft een waarde die gelijk is aan een elders gedeclareerde NOTATION <p>22</p>

DTD - Attributen Defaultwaarde Value Defaultwaarde van attribuut DEFAULT value Defaultwaarde van attribuut #IMPLIED Het attribuut is optioneel #REQUIRED Het attribuut moet bij het element vermeld worden Document is not valid als attribuut ontbreekt #FIXED value De waarde van het attribuut ligt vast (constante) Document is not valid als attribuut een andere waarde bevat <p>23</p> DTD Attributen Voorbeeld <?xml version="1.0"?> <!DOCTYPE command SYSTEM "command.dtd"> <command name="move"> <argument name="x" value="10"/> <argument name="y"/> </command> <!--DTD --> Parser voert defaultwaarden op <p>24</p>

DTD - Commentaar Commentaar <!--...--> <p>25</p> DTD - Entiteiten Entiteiten : Gebruikt in XML document. Verwijzing wordt vervangen door inhoud De entiteiten zelf worden gedeclareerd in intern of extern DTD. 2 soorten : Parsed entity : bevat well formed XML of tekst als inhoud Internal parsed entity : naam en waarde gedefinieerd in DTD <!ENTITY naamentiteit waardeentiteit > <!ENTITY euro " "><!-- euro sign --> External parsed entity : waarde in aparte file (daar ze markup bevat) <!ENTITY naamentiteit SYSTEM url van de externe file > <!ENTITY header SYSTEM "/include/header.xml"> Unparsed external entity : beeldjes of unparsed data <!ENTITY logo SYSTEM "/images/logo.jpg" NDATA jpeg> <p>26</p>

DTD Parameter entiteiten Parameter entiteiten Gedefinieerd in een DTD, en enkel voor gebruik in een DTD Het is een inhoudsmodel met een eigen naam die vervolgens gebruikt kan worden in meerdere element-definities Internal parameter entities <!ENTITY % naamentiteit waardeentiteit > <!ENTITY % Boekattributen "boekid ID #REQUIRED isbn CDATA #REQUIRED paginas CDATA #REQUIRED"> <!ATTLIST boek %Boekattributen;> <!ATTLIST kookboek %Boekattributen; aantalrecepten CDATA #REQUIRED> External parameter entities : externe file met DTD content <p>27</p> DTD - Notation Notation Beschrijven de indeling van niet XML data. Een notation in een DTD specifieert een bepaald datatype <!NOTATION jpeg SYSTEM "image/jpeg"> <p>28</p>

DTD - HTML Een voorbeeldje uit de HTML DTD http://www.w3.org/tr/rec-html40/sgml/dtd.html <!ELEMENT TABLE (CAPTION?, (COL* COLGROUP*), THEAD?, TFOOT?, (TBODY+ TR+))> <!ELEMENT CAPTION (%inline;)*> <!ELEMENT THEAD (TR)+> <!ELEMENT TFOOT (TR)+> <!ELEMENT TBODY (TR)+ > <!ELEMENT COLGROUP (COL)* > <!ELEMENT COL EMPTY > <!ELEMENT TR (TH TD)+> <!ELEMENT (TH TD) (%flow;)> <p>29</p> Aanbeveling DTD structuur Entity definities Root element definitie Root element attributen Child element definitie Child element attributen Grandchild element definitie Grandchild element attributen DTD - Structuur <p>30</p>

DTD Contra s Nadelen Ontwikkeld voor SGML, zijn document centric Geen datatypes, overerving,... Houden geen rekening met namespaces Geschreven in EBNF grammar, lijkt helemaal niet op de XML 1.0 syntax <p>31</p> DTD - Software Software Genereren van DTD vanaf XML DTDGenerator : freeware; http://saxon.sourceforge.net/dtdgen.html XML Spy : http://www.xmlspy.com/ TurboXML (Tibco): http://www.tibco.com/solutions/products/extensibility/turbo_xml.jsp Genereren van XML instances vanaf DTD XML Spy TurboXML XML Generator : freeware van IBM; http://www.alphaworks.ibm.com/tech/xmlgenerator <p>32</p>

DTD - Oefening <?xml version="1.0" encoding="utf-8"?> <boekenlijst> <boek> <titel isbn= 0201703599 >Het grote Office 2000 boek</titel> <auteur> <voornaam>helmut</voornaam> <naam>vanhaegen</naam> </auteur> <auteur> <voornaam>helmut</voornaam> <naam>kraus</naam> </auteur> <uitgever>easy Computing</uitgever> <prijs munt= dollar >20</prijs> </boek> <boek> <titel isbn= 0201703590 >De beste Office 2000 geheimen</titel> <auteur> <voornaam>hohann</voornaam> <voornaam>christian</voornaam> <naam>hanke</naam> </auteur> <uitgever>easy Computing</uitgever> <beschrijving>tips voor alle Office programma's</beschrijving> <prijs>25</prijs> </boek> </boekenlijst> OPM : Default waarde munt is euro. Mogelijke waarden euro of dollar <p>33</p> On the web Microsoft XML Validator download : http://msdn.microsoft.com/downloads/samples/internet/defa ult.asp?url=/downloads/samples/internet/xml/xml_validator/ default.asp Tutorial : http://www.w3schools.com/dtd/ HTML 4.01 DTD s : http://www.w3.org/tr/html401/sgml/dtd.html <p>34</p>