Copyright notice. Kantoorautomatisering. Voordeel scheiden inhoud en opmaak. Elektronische documenten. HTML, XML en SGML

Vergelijkbare documenten
Copyright notice. Optimalisatietechnieken. Simplexmethode: Voorbeeld... Lineair programmeren. x 3 = x 1 x 5 = x 1 -x 2 02d.

Copyright notice. Beeldverwerking. Inleiding. Niet-lineaire filtertechnieken (Zelfstudie) UNIVERSITEIT GENT Telecommunicatie en Informatieverwerking

open standaard hypertext markup language internetprotocol transmission control protocol internet relay chat office open xml

Copyright notice. Optimalisatietechnieken. Simplex-methode: principe. Lineair programmeren. x 3 optimum. x (6) A x (5) x (4) x 1.

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

Copyright notice. Beeldverwerking. Inleiding. Enkele karakteristieken van het menselijk visueel systeem

Copyright notice. Beeldverwerking. Medische beelden. Compressietechnieken voor beelden. UNIVERSITEIT GENT Telecommunicatie en Informatieverwerking

Y.S. Lubbers en W. Witvoet

MyDHL+ Van Non-Corporate naar Corporate

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

LONDEN MET 21 GEVARIEERDE STADSWANDELINGEN 480 PAGINAS WAARDEVOLE INFORMATIE RUIM 300 FOTOS KAARTEN EN PLATTEGRONDEN

ANGSTSTOORNISSEN EN HYPOCHONDRIE: DIAGNOSTIEK EN BEHANDELING (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

General info on using shopping carts with Ingenico epayments

Immigratie Studeren. Studeren - Universiteit. Aangeven dat u zich wilt inschrijven. Verklaren dat u graag wilt inschrijven voor een cursus.

Handleiding Installatie ADS

SEO Content. Creditcard aanvragen? Dé beste creditcards vergelijken.

Firewall van de Speedtouch 789wl volledig uitschakelen?

Intermax backup exclusion files

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Find Neighbor Polygons in a Layer

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

De mogelijkheden van XML voor de langdurige bewaring van digitale documenten. DAVID studiedag 30 nov 2000

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

L.Net s88sd16-n aansluitingen en programmering.

EM7680 Firmware Update by OTA

L.Net s88sd16-n aansluitingen en programmering.

AVG / GDPR -Algemene verordening gegevensbescherming -General data Protection Regulation

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO

Classification of triangles

Introductie in flowcharts

My Benefits My Choice applicatie. Registratie & inlogprocedure

UvA-DARE (Digital Academic Repository)

Corporate Payment Services

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

NMOZTMKUDLVDKECVLKBVESBKHWIDKPDF-WWUS Page File Size 9,952 KB 29 May, 2016

UvA-DARE (Digital Academic Repository) Keeping youth in play Spruit, A. Link to publication

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

XML. Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Marc de Graauw

WFS 3.0 De geo-api van de toekomst. Linda van den Brink, Geonovum 13 februari #DataToBuildOn

XML Introductie.

MyDHL+ Tarief berekenen


Website beoordeling feedbackvote.com

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Immigratie Studeren. Studeren - Universiteit. Aangeven dat u zich wilt inschrijven. Verklaren dat u graag wilt inschrijven voor een cursus.

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond.

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

PRIVACYVERKLARING KLANT- EN LEVERANCIERSADMINISTRATIE

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Bouwen op een gemeenschappelijk verleden aan een succesvolle toekomst Welling, Derk Theodoor

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

Understanding and being understood begins with speaking Dutch

Gebruik van het LOGO in geautomatiseerde verkiezingen

Shipment Centre EU Quick Print Client handleiding [NL]

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.

Website review kamernet.nl

/ /

Data Handling Ron van Lammeren - Wageningen UR

Leeftijdcheck (NL) Age Check (EN)

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

UvA-DARE (Digital Academic Repository) Inquiry-based leading and learning Uiterwijk-Luijk, E. Link to publication

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : lator=c&camp=24759

Ethno-territorial conflict and coexistence in the Caucasus, Central Asia and Fereydan

Chapter 4 Understanding Families. In this chapter, you will learn

Website review gulrijopleidingen.nl

ALGORITMIEK: answers exercise class 7

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

Calculator spelling. Assignment

0515 DUTCH (FOREIGN LANGUAGE)

Handleiding Zuludesk Parent

Genetic code. Assignment

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

MyDHL+ Uw accountnummer(s) delen

[BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden?

Interface tussen Stuurbediening en Sony autoaudio

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

EM7680 Firmware Auto-Update for Kodi 17.2

EM6250 Firmware update V030507

Het beheren van mijn Tungsten Network Portal account NL 1 Manage my Tungsten Network Portal account EN 14

ZorgMail Address Book SE Documentation

DocBook XML documenten bewerken

B1 Woordkennis: Spelling

8+ 60 MIN Alleen te spelen in combinatie met het RIFUGIO basisspel. Only to be played in combination with the RIFUGIO basicgame.

liniled Cast Joint liniled Gietmof liniled Castjoint

CTI SUITE TSP DETAILS

Ius Commune Training Programme Amsterdam Masterclass 16 June 2016

Installation & Usage Biometric Reader - NL. Biometric Reader - NL. Productie Versie: 7.0. Versienummer Handleiding: 1.0.2

Les drie. Vormen van data in AutoLISP

Biodiversity responses to climate and land-use change: A historical perspective Aguirre Gutierrez, J.

MobiDM App Handleiding voor Windows Mobile Standard en Pro

What is the advantage of using expression language instead of JSP scriptlets and JSP expressions?

Zelftest XML Concepten

Over dit boek. Richtlijnen voor gebruik

Usage guidelines. About Google Book Search

Ficino en het voorstellingsvermogen : phantasia en imaginatio in kunst en theorie van de Renaissance van den Doel, M.J.E.

Transcriptie:

Didactisch materiaal bij de cursus Kantoorautomatisering http://telin.ugent.be/~philips/kantoorautomatisering/ Academiejaar 2010-2011 Prof. dr. ir. W. Philips philips@telin.ugent.be Copyright notice This powerpoint presentation was developed as an educational aid to the renewed course Office automation (Kantoorautomatisering), taught at the University of Gent, Belgium as of the year 2000. This presentation may be used, modified and copied free of charge for non-commercial purposes by individuals and non-for-profit organisations and distributed free of charge by individuals and non-for-profit organisations to individuals and non-for-profit organisations, either in electronic form on a physical storage medium such as a CD-rom, provided that the following conditions are observed: 1. If you use this presentation as a whole or in part either in original or modified form, you should include the copyright notice W. Philips, Universiteit Gent, 2000-2002 in a font size of at least 10 point on each slide; 2. You should include this slide (with the copyright conditions) once in each (by which is meant either a computer file or a reproduction derived from such a file); 3. If you modify the presentation, you should clearly state so in the presentation; 4. You may not charge a fee for presenting or distributing the presentation, except to cover your costs pertaining to distribution. In other words, you or your organisation should not intend to make or make a profit from the activity for which you use or distribute the presentation; 5. You may not distribute the presentations electronically through a network (e.g., an HTTP or FTP server) without express permission by the author. In case the presentation is modified these requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the presentation, and can be reasonably considered independent and separate works in themselves, then these requirements do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the presentation, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. In particular note that condition 4 also applies to the modified work (i.e., you may not charge for it). Using and distributing the presentation means using it for any purpose, including but not limited to viewing it, presenting it to an audience in a lecture, distributing it to students or employees for self-teaching purposes,... Use, modification, copying and distribution for commercial purposes or by commercial organisations is not covered by this licence and is not permitted without the author s consent. A fee may be charged for such use. Disclaimer: Note that no warrantee is offered, neither for the correctness of the contents of this presentation, nor to the safety of its use. Electronic s such as this one are inherently unsafe because they may become infected by macro viruses. The programs used to view and modify this software are also inherently unsafe and may contain bugs that might corrupt the data or the operating system on your computer. If you use this presentation, I would appreciate being notified of this by email. I would also like to be informed of any errors or omissions that you discover. Finally, if you have developed similar presentations I would be grateful if you allow me to use these in my course lectures. UNIVERSITEIT GENT Telecommunicatie en Informatieverwerking Prof. dr. ir. W. Philips E-mail: philips@telin.ugent.be Department of Telecommunications and Information Processing Fax: 32-9-264.42.95 University of Gent Tel: 32-9-264.33.85 St.-Pietersnieuwstraat 41, B9000 Gent, Belgium 04b.2 Voordeel scheiden inhoud en opmaak Elektronische en HTML, en SGML Author once, format many times: Documenten worden dikwijls op verschillende manieren gebruikt bekijken op computerscherm met hoge of lage resolutie afdrukken in zwartwit; afdrukken in kleur tonen op teletekst of op een WAP-GSM (minder belangrijke informatie weglaten) men kan voor ieder van die visualisatiemodaliteiten een aparte style sheet voorzien The trouble with WYSWIG is that what you see is all that you get (Brian Kernigan, AT&T) als de logische structuur niet duidelijk is aangegeven in een en duidelijk gescheiden van de opmaak, dan wordt automatische verwerking veel moeilijker (en is het enkel bruikbaar om te bekijken of af te drukken) 04b.4

SGML versie: gewijzigd 20/10/2010 op: October 2010 gewijzigd op: 20 October 2010 SGML: Voorbeeld SGML=Standard Generalized Markup Language Ontwikkeld in de jaren 60, 70 en 80 om complexe en uit te wisselen, b.v. tussen auteurs en uitgevers Initiële bedoeling: regels opleggen aan markuptalen die toelaten en te controleren op volledigheid (b.v. bij transmissie van en) en uit te wisselen tussen verschillende systemen (b.v. databanken) via een neutraal (fabrikantonafhankelijk) voor uitwisseling tussen databanken Oplossing: standardiseer een klasse talen die toelaten de logische structuur beschrijven zonder a priori vast te leggen uit welke onderdelen (hoofdstukken, ) de structuur moet bestaan, hoe men ze moet noemen ( hoofdstuk, onderdeel, ) en zonder a priori een bepaalde hiërarchie op te leggen 04b.5 <DOCTYPE report PUBLIC _ > <report> <title>the SGML Standard <author> Born Gunter tekst om op te nemen in de index rapport type volgens publieke definitie titel en auteur als logische elementen <p> SGML is a standardized language for the exchange of text between different word processing programs and systems. <p> SGML defines paragraaf als logisch element <li number=alpha> <it>the structure of a genummerde <it> the character set used lijst, met atribuut <it> the text formats</it> abc-nummering <h1>the structure hoofdtitel als logisch element <p>a <hp1></hp1> consists of nested benadrukte tekst <ix>elements</ix> </report> 04b.6 SGML De structuur wordt aangegeven door tekstelementen te omsluiten met tags, b.v. <ix>elements</ix> de eind-tag is gelijk aan de begintag, op de slash na sommige elementen vereisen geen eind-tag In tegenstelling tot bij HTML ligt de verzameling toegelaten tags niet vast, maar hangt af van het type Een type wordt gedefinieerd in een Document Type Definition (DTD) bestand; dit legt vast: de toegelaten logische elementen (d.w.z., tags), welke elementen kunnen voorkomen als onderdelen van een bepaald element (b.v. auteur kan niet titel bevatten), welke eindtags mogen worden weggelaten, De standaard definieert een aantal publieke DTDs, maar de gebruiker kan ook nieuwe private DTDs aanmaken 04b.7 Voorbeeld van een SGML-DTD DTD voor Html4: 04x_en\dtd.html Definitie van een element : <!ELEMENT UL - - (LI)+> <!ELEMENT IMG - O EMPTY> minstens één LI kindelement vereist start- en eindtag verplicht geen kindelement mogelijk starttag verplicht; eindtag optioneel 04b.8

Voorbeeld van een SGML-DTD Voorbeeld gebruik DTD in HTML Definitie van een entity (een macro, dikwijls gebruikt als verkorte notaties): <!ENTITY % font "TT I B U S STRIKE BIG SMALL"> %font wordt vervangen door deze string de naam van de macro Gebruik van deze entity <!ELEMENT (%font %phrase) - - (%inline)*> alle inline elementen kunnen voorkomen deze entity slaat op de elementen die binnen <TT>.</TT>, <I></I>, kunnen voorkomen 04b.9 Document Type Definitions worden o.a. gebruikt worden om te controleren of een Html- aan de standaard voldoet Voorbeeld: de W3c MarkUp Validation Service http://validator.w3.org/ Mogelijke problemen http://www.vrt.be incorrect/niet-afgesloten tags http://www.ugent.be/ (oude versie) geen DTD http://www.ugent.be/ (nieuwe versie) ongeldig geneste tag, ontbrekend alt attribute by <img>, ontbrekende eind-tag http://www.kuleuven.ac.be/kuleuven/ ontbrekende eind-tags, eind-tag zonder begin-tag. kantoorautomatisering.php => ok (oef!) Voordelen geldige html minder kans op problemen met bepaalde browsers 04b.10 SGML: voorbeeld Voorbeeld The SGML Standard by Born Gunter SGML is a standardized language for the exchange of text between different word processing programs and systems. SGML defines a. the structure of a b. the character set used c. the text formats I. The structure A consists of nested elements Een SGML- specificeert geen fysische structuur; deze laatste wordt gespecificeerd in een aparte DSSSL style sheet: DSSSL=Document Style Semantics and Specification Language (element H1 (make paragraph font-size: (* 1.5 (inherited-font-size)) space-before: 2.5em space-after: 1.5em escapement-space-after: 0.1em font-weight: 'bold (uppercase) )) (element H2 (make paragraph font-size: (* 1.3 (inherited-font-size)) space-before: 1.5em space-after: 1em font-weight: 'bold)) gebaseerd op scheme (dialect van lisp) 04b.11 04b.12

SGML-dochtertalen Historiek Text Encoding Initiative DocBook Door het opleggen van beperkingen aan de DTDs of door een specifieke DTD op te leggen krijgt men dochtertalen Channel Definition Format (Microsoft) SGML: IBM eind jaren 60-1985 De pijlen duiden aan hoe de verschillende (meta-) talen elkaar beïnvloedt hebben Edgar SGML Open Financial Exchange HTML: CERN en WWWconsortium 1990-2000 HTML Vereenvoudigde uitleg: HTML was een zeer beperkte vorm van SGML, maar is een eigen leven gaan leiden Chemical markup language en XSL: W3C eind jaren 90- cascading style sheets (eind jaren 90) is een vereenvoudigde vorm van SGML 04b.13 04b.14 Opmerkingen HTML SGML is enkel doorgebroken in een aantal niche-markten luchtvaartindustrie, juridische wereld Redenen hiervoor in de jaren 70-80 doorbraak van propriëtaire tekstverwerkers die volstonden voor eenvoudige en de grote complexiteit van SGML waardoor de taal moeilijk was om te leren voor interactief gebruik PCs waren nog niet krachtig genoeg voor WYSIWIG tekstverwerking met ondersteuning van voldoende SGMLfunctionaliteit 04b.15 Originele bedoeling enkel logische structuur beschrijven, zoals SGML maar op veel minder complexe wijze zeer beperkte subset van SGML opmaak volledig overlaten aan de browser, rekening houdend met beschikbare visualisatiemogelijkheden en met de voorkeuren van de gebruiker (b.v. slechtzienden!) Toch kreeg de auteur enige controle over de fysische structuur achtergrondkleuren fysische commando s zoals <i>om schuine tekst</i> te zetten i.p.v. logische commando s <em>om nadruk</em> te leggen java en plug-ins om onleesbaar kleine letters te maken inhoud en opmaak zijn niet volledig gescheiden Uiteindelijk voerde men Cascading style sheets in om opmaak en inhoud toch beter te scheiden 04b.16

Cascading Style Sheets Interactie tussen HTML en CSS Cascading Style sheets zijn bestanden waarmee een auteur kan specificeren hoe html-elementen (b.v. <H1>-hoofdingen) moeten worden opgemaakt men definieert een aantal benoemde stijlen, b.v. titel in het HTML-bestand voegt men aan de tags attributen toe die aangeven in welke stijl ze moeten worden opgemaakt, b.v.: <H1 class= titel > Dit is mijn titel </H1> example.html <HTML> <LINK REL=STYLESHEET <H1>Hello HREF= example world</h1> </HTML> <HTML> <H1 class= ti >Hello world</h1> </HTML> example.css.ti { color: red; font-weight: bold; } Cascading slaat op het feit dat de definities uit verschillende bestanden kunnen worden gelezen, b.v.: een bestand met standaardstijlen van de browser een bestand met stijlen gedefinieerd door de auteur een bestand met door de gebruiker gedefinieerde stijlen, waar nodig kan de auteur, de gebruiker, de browser, dus selectief bepaalde stijlen herdefiniëren 04b.17 Verwijzing naar de style sheet die van toepassing is op de elementen van dit Associatie van een stijl met een titel Hello World world Definitie van de verschillende stijlen 04b.18 Cascading Style Sheets Opmerkingen: stijl moet hier ruim geïnterpreteerd worden: Stijl omvat hier ook tekst die kan worden tussen gevoegd: b.v. <H1 class=titel> Inleiding </H1> Hoofdstuk 1: Inleiding de stijl dicteert hier dat het woord Hoofdstuk wordt ingevoegd voor een titel De stijl kan dicteren dat een deel van de tekst wordt weggelaten de browser kan b.v. niet geschikt materiaal verbergen voor kinderen onder de 12 jaar 04b.19 Bedoeling: verbeterde versie van HTML meer veelzijdige logische structuren toelaten striktere syntax om automatische analyse te vergemakkelijken Oplossing: extensible Markup Language (), een vereenvoudigde versie van SGML de tags hebben veel minder attributen (opties) gevolg: veel eenvoudiger om te leren Net als SGML heeft een een -schema (dit is het equivalent van een DTD) dat zelf ook een geldig - is een extensible Stylesheet Language (XSL) ipv. DSSSL wordt b.v. gebruikt voor datauitwisseling (b.v. in Remote Procedure Call) formaten, beschrijving GUI,. 04b.20

vs. HTML : voorbeeld Veel strikter gestructureerd dan HTML alle begintags moeten een eindtag hebben In HTML: <H1> titel in : <H1> titel </H1> elementen mogen niet overlappen In HTML: <b>vette, <i>schuin-vette</b>en schuine</i>tekst in : <b>vette,</b><bi>schuin-vette</bi><i>en schuine</i> tekst De striktere structuur vereenvoudigt het ontwikkelen van programma s die moeten lezen en parsen (b.v. zoekprogramma s, editors, rekenbladen, ) -tags geven enkel logische structuur aan; fysische structuur kan alleen in style-sheets worden gespecificeerd HTML-tags liggen vast, terwijl -tags gedefinieerd worden in een -Schema en zonder dit Schema geen betekenis hebben 04b.21 <?xml version="1.0"?> <patient id= 12345"> patiëntfiche met volgnummer als attribuut <personal> persoonlijke gegevens <name>test Person</name> <birthdate>15 juni 1975</birthdate> <address> <street> Sint-Pietersnieuwstraat </street> <number>41</number> <city>gent</city> <zip>9000</zip> </address> </personal> </patient> Opmerking: spaties hebben normaal wel belang in -data (de tekst tussen twee tags, b.v. <name> en </name>) 04b.22 : voorbeeld Documenttype definitie in patient name birth date address street number zip city Elk (goed gevormd) - heeft een boomstructuur De boom wordt diepte-eerst opgeslagen in het : street, number, zip en city vormen één blok tekst Let op: de volgorde waarin elementen worden opgeslagen (b.v. number voor zip ) heeft belang! 04b.23 Twee mogelijkheden: Document Type Definition (DTD) - DTDs zijn bijzondere geval van de SGML DTDs -nadeel: geschreven in een speciale taal -beschrijven enkel de structuur vooral voor tekst - en -Schema -beschrijft structuur, maar ook b.v. regels omtrent geldige inhoud van een veld (b.v. datatypes) o.a. voor databanktoepassingen -Schema s zijn zelf ook -en (geen afzonderlijke taal nodig) 04b.24

Schema s vs. DTDs -Schema Bob DuCharme: Many developers were dissatisfied with the syntax of the markup declarations described in the spec for two reasons. First, they felt that if s were so good at describing structured information, then the description of a type's own structure (its schema) should be in an instead of writtenwithitsownspecial syntax. In addition to being more consistent, this would make it easier to edit and manipulate the schema with regular manipulation tools. Secondly, they felt that traditional DTD notation didn't allow type designers the power to impose enough constraints on the data for example, the ability to say that a certain element type must always have a positive integer value, that it may not be empty, or that it must be one of a list of possible choices. This eases the development of software using that data because the developer has less error-checking code to write. Het -Schema bestand specificeert voor een bepaalde toepassing welke velden ( elements ) in het mogen voorkomen de mogelijke structurele verbanden tussen tags: b.v. <page> mag in een <book>-veld voorkomen, maar niet omgekeerd de mogelijke sekwentiële verbanden tussen tags: b.v. <preface> moet voor <chapter> komen welke attributen bij bepaalde tags mogen of moeten worden opgegeven: b.v. dat een font-attribuut is toegelaten in een <note font= Arial >-veld andere grammaticale regels waaraan het moet voldoen Besluit: het -Schema beschrijft dus de woordenschat en de grammatica van geldige -en 04b.25 04b.26 -Schema voorbeeld -Schema voorbeeld <xsd:element name="patient"> <xsd:complextype> <xsd:sequence> Een patient veld moet 0 of meer personal velden bevat <xsd:element ref="personal minoccurs="0 maxoccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="id type="xsd:id use="required"/> </xsd:complextype> </xsd:element> <xsd:element name="personal"> Een patient veld moet een id attribuut hebben 04b.27 Een personal veld moet één <xsd:element name="personal"> name, één birthdate en één of meerdere address velden <xsd:complextype> bevatten <xsd:sequence> <xsd:element ref="name"/> <xsd:element ref="birthdate"/> <xsd:element ref="address" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> Definitie van eenvoudige velden </xsd:element> met verkorte notatie <xsd:element name="name"/> <xsd:element name="birthdate"/> <xsd:element name="address"> De velden moeten telkens in de opgegeven volgorde voorkomen! 04b.28

Geldige en goedgevormde Geldige en goedgevormde Een is goedgevormd (well-formed) als het voldoet aan de syntactische regels opgelegd door de volledige hiërarchische structuur kan worden afgeleid uit het Een is geldig (valid) als het eerst en vooral goedgevormd is en bovendien voldoet aan een -Schema, wat betekent dat het voldoet aan de eisen van een bepaalde toepassing Een - is zelf-beschrijvend: de volledige structuur en inhoud kan worden afgeleid uit het (eventueel in combinatie met de hulpen die in het worden gerefereerd) Geldigheid is dus gekoppeld aan de specificaties (- Schema) van een bepaalde toepassing De toepassing gebruikt het -Schema om te controleren of een -bestand geldig is niet- applicaties doen ook geldigheidstesten op de en die ze inlezen (b.v. MSWord op een.doc ), maar de geldigheidsregels zitten daar ingebouwd in de toepassingssoftware -toepassingen kunnen gebruik maken van een extern programma (een validating parser ) of een bibliotheek om de geldigheid van een - te testen voor een gegeven -Schema dit vereenvoudigt deze toepassingen 04b.29 04b.30 Geldige vs. goedgevormde extensible Stylesheet Language <?xml version="1.0"?> <patient id= 12345"> <personal> <name>test Person</name> <birthdate>15 juni 1975 </birthdate> </personal> </patient> Dit is goedgevormd: de xml-tag met versienummer is aanwezig de velden zijn goed vernesteld elke begintag heeft een corresponderende eindtag Het is niet geldig volgens het eerder gegeven -Schema, want het bevat geen address -veld terwijl het schema er minstens één vereist 04b.31 De style-sheet en in zijn opgesteld in de extensible Stylesheet Language (XSL) XSL omvat grotendeels een subset van de DSSSL functionaliteit, maar bevat ook enkele nieuwe features XSL-bestanden zijn terzelfdertijd ook geldige en volgens een speciaal -Schema ze kunnen dus ook worden onderzocht met een validating parser XSL kan niet alleen de bestanden opmaken, maar ze ook filteren of op andere manieren verwerken (b.v. converteren naar html) 04b.32

XSL XSLT: voorbeeld conversie De XSL-standaard omvat XSL-FO: XSL formatting elements: taal voor beschrijven van fysische opmaak XSLT: XSL Transformation language: taal voor converteren van de inhoud van een - XPath: taal voor aanduiden van individuele elementen and attributen in en XSL-FO is relatief complex in vergelijking met XSLT vertaling van naar HTML via XSLT is nog zeer courant (en nuttig aan de server-zijde) <?xml version="1.0" encoding="iso8859-1"?> <?xml-stylesheet type="text/xsl" href="cd_catalog.xsl"?> <CATALOG> <CD> XSL-stylesheet <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> Dit - bevat een CD-databank 04b.33 04b.34 Conversie: cd_catalog.xsl XPath <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl"> <xsl:template match="/"> <html><body> <table border="2" bgcolor="yellow"> html-code <tr><th>title</th><th>artist</th></tr> <xsl:for-each select="catalog/cd"> <tr><td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body></html> </xsl:template> </xsl:stylesheet> deze -code extraheert uit alle CD velden de deelvelden Title en Artist en converteert deze naar html tabelcellen 04b.35 Zoektaal om op intelligente manier elementen en attributen te selecteren op basis van bepaalde criteria: /bookstore/book: alle book elementen in een bookstore /bookstore/book[0]: 1e book in een bookstore /bookstore/book/price/text(): de text binnen price elementen in een book element in een bookstore element /bookstore/book[price>35]/price: de price elementen met waarde groter dan 35 //.[contains(., "B")]: alle elementen die B bevatten Dient o.a. om te specificeren op welke elementen XSLT en XSL-FO regels van toepassing zijn Experimenteren: installeer de XPath checker plugin in firefox, en selecteer view XPath in het context-menu 04b.36

Samenspel, -Schema, XSL Voordelen geldig? logische structuur -Schema XSL opmaakprogramma opgemaakt 04b.37 Open standaard en enkel ascii; meer kans dat men en over 20 jaar nog zal kunnen lezen of minstens interpreteren Laat toe (delen van) en letterlijk over te nemen in andere en, al dan niet met dezelfde opmaak (zie: links in ) Mogelijkheid tot standaard controle van en; één validating parser kan alle mogelijke en controleren op volledigheid: is het kredietkaartnummer ingevuld correctheid: klopt de checksum op een bankrekeningnummer Zelfbeschrijvend: <Client> <ContactInfo> <Telephone number = 555-1234 /> </ContactInfo> </Client> 04b.38 Multiple opmaak met als intermediair opmaakprogramma htmlwebpagina opmaakprogramma papier webbrowser opmaakprogramma opmaakprogramma opmaakprogramma on-line help braille 04b.39 A C B D Uitwisseling via : elk programma bevat één filter tout court De programmacode voor het lezen/schrijven van is trouwens dezelfde in alle programma s Klassieke uitwisseling: elk programma bevat één import/export-filter per te lezen/schrijven bestands A C B D 04b.40

Voorbeeld: vertaling van en De (semi-automatische) vertaling van en waarbij de opmaak behouden moet blijven, wordt bemoeilijkt door de vele formaten waarin tekst en opmaak kunnen worden opgeslagen Een eenvoudige oplossing om een in een nieuw te ondersteunen is het eerst te splitsen in twee en die de inhoud en de vorm weergeven; beide kunnen beschreven worden in Voordelen van als intermediair mogelijkheid tot validering ondersteuning voor unicode (speciale tekens met accenten e.d.) standaardisatie: gebruik van software om de en te parsen, 04b.41 Voorbeeld: vertalen en rtf {\plain\cf2\b Hello World} <1/>Hello World <2/> <1>Hallo Wereld <2> vertaald tekst vertaling splitsingsfilter hergroepering wordt hier gebruikt als uitwisselings tussen programma s opmaakcodes {\plain\cf2\b Hallo Wereld} <1/> {\plain\cf2\b <2/>} 04b.42 Web Distributed Data exchange (WDDX) <wddxpacket version='1.0'><header comment='php'/> <data> <struct> <var name='pi'><number>3.1415926</number></var> <var name='cities'> <array length='3'> <string>austin</string> <string>novato</string> <string>seattle</string> </array></var> </struct> </data> </wddxpacket> WDDX is een -gebaseerde taal voor het uitwisselen van datastructuren tussen computer en toepassingen 04b.43 User-interface Language (XUL) Platformonafhankelijke taal voor het beschrijven van gebruikersinterfaces Toepassing: web-interfaces in Mozilla en verwante browsers Voorbeeld: tabel met aanpasbare kolommen Opmerking: het wijzigen van de gebruikersinterface kan allerlei beveiligingsproblemen veroorzaken om die reden wordt heel wat functionaliteit geblokkeerd tot de gebruiker de xul-files (onder de vorm van een xpi-package) expliciet installeert 04b.44

User-interface Language (XUL) en HTML in Word2000 <?xml version="1.0"?> <?xml-stylesheet > <window id="example-window > <tree flex="1"> <treecols> <treecol id="sender" label="sender" flex="1"/> <treecol id="subject" label="subject" flex="2"/> </treecols> <treechildren> <treeitem> <treerow> <treecell label="joe@somewhere.com"/> <treecell label="top secret plans"/> </treerow> </treeitem> Word2000 gebruikt een combinatie van en HTML om een op te slaan als webpagina, o.a.: Document properties in Style sheet in CSS Eigenlijk in HTML De conversie is reversibel : Word kan het volledige.doc bestand reconstrueren uit het.html bestand De gegenereerde code is zeer complex wat de bruikbaarheid ervan in andere toepassingen bemoeilijkt 04b.45 04b.46 Referenties J.E. Simpson. Just. Prentice Hall, 1999. ISBN 0-13-943417-8. S. McGrath. by example. Building E-commerce applications. Prentice Hall, 1998. ISBN 0-13-960162-7 C.s. Goldfarb en P. Prescod. The Handbook. Prentice Hall, 1998. ISBN 0-13-081152-1. : http://www.w3.org// Schema s vs. DTDs http://www.ucc.ie/xml/#schemas Günter Born. The FILE FORMATS Handbook. International Thomson Computer Press, 1995. ISBN 1-85032-117-5. A brief SGML tutorial http://www.w3.org/tr/wd-html40-70708/intro/sgmltut.html SGML. Standard Generalized Markup Language, ISO 8879:1986 Lyx: http://www.lyx.org XSL: http://www.xml101.com/xsl/ WDDX: http://www.openwddx.org/faq/ 04b.47