TEI tutorial Library Lab Basis XML– basis TEI Sessie 1 (17 november 2014) Ron Van den Branden en Bert Van Raemdonck Centrum voor Teksteditie en Bronnenstudie (CTB)
Overzicht 1.Inleiding XML 1.Bouwstenen van XML 2.Well-formed XML 3.Valid XML 4.Standaardisering – TEI 2.Inleiding TEI 1.TEI consortium 2.Basisstructuur van TEI documenten 3.Aangehaalde tekst 4.Gemarkeerde tekst 5.Informatie-eenheden
XML = eXtensible Markup Language: W3C Recommendation 1998: eerste editie 2008: vijfde editie Kenmerken: manier om informatiestructuren te representeren Platte tekst Machineleesbaar ‘Mensleesbaar’ Software-onafhankelijk
XML: informatie-types 1.Elementen 2.Attributen 3.PCDATA 4.Entity references 5.Commentaar 6.Processing instructions 7.Namespaces
XML: elementen “containers” die informatie bevatten: balletjes Bereik van elementen wordt aangegeven door ‘start’ en ‘eind’ tags Onderdelen van tags: 1.Begrensd door punthaakjes: 2.Elementnaam (‘generic identifier’): soep
XML: elementen “containers” die informatie bevatten: balletjes Types van tags: Starttag: Eindtag: Lege tag: (is kort voor, zonder tekst)
XML: attributen Extra informatie over elementen: balletjes Onderdelen van attributen: 1.Attribuutnaam: kleur 2.Scheidingsteken: = 3.Attribuutwaarde: zwart attribuutwaarde begrensd door aanhalingstekens ('enkel' of "dubbel") Alleen in start tag
XML: PCDATA Eigenlijke informatie (parsed character data) balletjes Platte tekst (UTF-8): balletjes Beperking: enkele ‘gereserveerde’ tekens moeten speciaal worden gecodeerd: < < & &
XML: entity references Symbolische representatie van tekst tomaat & balletjes (< 20) -- 🌶 Onderdelen van entity references: 1.Begrenzing: entity reference staat tussen & en ; 2.Entity naam: amp (geen spaties toegelaten)
XML: entity references Waarom entity references? Speciale tekens (&, <) Representatie van tekens die niet door software / lettertype worden ondersteund Vb: 🌶 voor niet-standaardkarakter Eigen entity references definiëren voor veelgebruikte tekst(fragmenten) Voorgedefinieerde entities voor +- alle lettertekens: Unicode Handige zoekmachines:
XML: commentaar Commentaar, geen deel van eigenlijke informatie balletjes Onderdelen van commentaar: 1.Begrenzing: 2.Commentaar (geïnterpreteerd) als platte tekst: heerlijk gerechtje!
XML: processing instructions Specifieke instructies voor verwerking door software tomaat & balletjes -- 🌶 Onderdelen van processing instructions: 1.Begrenzing: 2.“target”: tekst na <? (zonder spatie): xml 3.Inhoud: attributen: href="style.xsl"
XML: processing instructions Waarom processing instructions? Specifieke ‘opdrachten’ voor software die XML verwerkt; bevatten geen informatie over de tekst ( elementen) Vooral gebruikt voor: XML declaratie (hoewel optioneel): Koppelen van stylesheets voor ‘vriendelijker weergave’: CSS: voor weergave van XML (vaak in browser) XSLT: voor omvorming van XML tot andere structuur (vaak HTML)
XML: namespaces Manier om naamconflicten te beheersen: tomaat & balletjes hout 120 4
XML: namespaces Manier om naamconflicten te beheersen: tomaat & balletjes hout 120 4
XML: namespaces Namespace declaration: verbinding van een namespace prefix met een namespace (URL): xmlns:cat=" 1.Namespace declaration: xmlns 2.(optioneel) Dubbel punt + prefix :cat 3.Scheidingsteken (gelijkheidsteken) = 4.Namespace URL: " (aanhalingstekens) (N.B. ziet eruit als attribuut; is het niet) Namespace reference: namespace prefix vóór elementnaam in start- en eindtag (optioneel): 1.Namespace prefix: cat 2.Scheidingsteken (dubbel punt) :
XML: namespaces tomaat & balletjes hout In dit voorbeeld, 3 namespaces: 1.xmlns="watligteropmijnbord": en kinderen 2.xmlns:cat=" en kinderen 3.Default namespace: leeg:
XML: informatie-types 1.Elementen: containers voor informatie 2.Attributen: bijkomende informatie voor elementen 3.PCDATA: eigenlijke informatie 4.Entity references: abstracte codering van (letter)tekens 5.Commentaar: extra informatie, geen deel van XML inhoud 6.Processing instructions: instructies voor software 7.Namespaces: manier om naamconflicten te beheersen
Well-formed XML Syntactische regels voor XML structuren: 1.Verplicht één “root” element dat alle andere bevat 2.Elementen moeten “nesten” (volledig bevat worden door andere elementen) mogen niet overlappen 3.XML is hoofdlettergevoelig 4.Attribuutwaarden moeten tussen aanhalingstekens 5.Speciale tekens moeten worden gecodeerd
(unWell-formed XML) Syntactische regels voor XML structuren: 1.Verplicht één “root” element dat alle andere bevat 2.Elementen moeten “nesten” (volledig bevat worden door andere elementen) mogen niet overlappen kervel, met wat ontsnapte balletjes 3.XML is hoofdlettergevoelig kervel, met wat onstnapte balletjes 4.Attribuutwaarden moeten tussen aanhalingstekens 5.Speciale tekens moeten worden gecodeerd tomaat & balletjes (
…komen codéren! tomaat & balletjes
…komen codéren! tomaat & balletjes hout 120 4
…komen codéren! Bovenal bemin één God. Zweer niet ijdel, vloek noch spot. Heilig steeds de dag des Heren. Vader, moeder zult gij eren. Dood niet, geef geen ergernis. Doe nooit wat onkuisheid is. Vlucht het stelen en bedriegen. Ook de achterklap en ’t liegen. Wees steeds kuis in uw gemoed. En begeer nooit iemands goed.
…komen codéren! 1 × 1 = 1 2 × 1 = 2 3 × 1 = 3 4 × 1 = 4 5 × 1 = 5 6 × 1 = 6 7 × 1 = 7 8 × 1 = 8 9 × 1 = 9 10 × 1 = 10
XML is een metataal XML laat gebruikers toe om vocabularium te definiëren Pro: flexibel! Zolang XML well-formed is, kan alles Iedereen kan vocabularium definiëren
XML is een metataal XML laat gebruikers toe om vocabularium te definiëren Pro: flexibel! Zolang XML well-formed is, kan alles Iedereen kan vocabularium definiëren Contra: flexibel! Zolang XML well-formed is, kan alles Iedereen kan vocabularium definiëren
XML is een metataal XML laat gebruikers toe om vocabularium te definiëren Pro: flexibel! Zolang XML well-formed is, kan alles Iedereen kan vocabularium definiëren Contra: flexibel! Zolang XML well-formed is, kan alles Iedereen kan vocabularium definiëren Oplossing: standaardisering XHTML XHTML: vocabularium voor opmaak van webpagina’s XHTML GPX: vocabularium voor uitwisseling van GPS data GPX BeerXML: vocabularium voor bierrecepten BeerXML TEI : vocabularium voor (academische) tekstcodering TEI
Valid XML XML laat gebruikers toe om vocabularium te definiëren én Vocabularium vast te leggen in een formele taal (een schema): DTD XML schema RelaxNG … XML documenten kunnen worden gevalideerd aan de hand van een schema Een valid XML document is: 1.een well-formed XML document 2.dat beantwoordt aan alle regels die in een schema werden vastgelegd
Voorbeeld RelaxNG schema
Voorbeeld RelaxNG schema default namespace = "" start = element tafel { attribute type { xsd:NCName }?, element bord { attribute kleur { xsd:NCName }?, element soep { attribute soort { xsd:NCName }?, text }? }+ }+ }
Voorbeeld RelaxNG schema default namespace = " " start = element tafel { attribute type { xsd:NCName }?, element bord { attribute kleur { xsd:NCName }?, element soep { attribute soort { xsd:NCName }?, text }? }+ }+ }
Text Encoding Initiative TEI-C consortium ontwikkelt en onderhoudt Schema’s die elementen definiëren om tekstfenomenen te coderen in XML Richtlijnen om die schema’s correct toe te passen (TEI Guidelines) Bijkomende hulpmiddelen voor verwerking van TEI documenten: Roma: een online editor om op maat gemaakte TEI schema’s af te leiden XSLT stylesheets: voor conversie van TEI XML naar verschillende formaten OxGarage: een online dienst voor conversie van TEI XML naar verschillende formaten Oxygen TEI framework: bundel TEI schema’s, TEI XSLT stylesheets, CSS stylesheets voor WYSIWYG visualisering van TEI XML in Oxygen editor
Conformant TEI XML document dat aan minimale voorwaarden voldoet: 1.Well-formed XML 2.Valideert t.o.v. een TEI-conform schema 3.Geen ‘tag abuse’: elementen gebruiken zoals ze gedocumenteerd zijn in TEI Guidelines 4.In TEI namespace: 5.Schema is gedocumenteerd in ODD, een abstracte TEI representatie
: basisstructuur Elk TEI document: Heeft als root element* Bevat binnen volgende onderdelen: : beschrijvende metadata over de digitale tekst en brontekst : bibliografische beschrijving van digitale tekst : beschrijving van de relatie digitale tekst – brontekst(en) : beschrijving van contextuele gegevens : beschrijving van wijzigingsgeschiedenis : de eigenlijke inhoud : inleidende delen (inhoudstafel, titelblad, voorwoord,…) : eigenlijke tekst : afsluitende delen (index, appendix, …) * = (of, met corpus-metadata en afzonderlijke teksten)
: basisstructuur Elk TEI document: Heeft als root element (of, met corpus- metadata en afzonderlijke teksten) Bevat binnen volgende onderdelen: : beschrijvende metadata over de digitale tekst en brontekst : bibliografische beschrijving van digitale tekst : beschrijving van de relatie digitale tekst – brontekst(en) : beschrijving van contextuele gegevens : beschrijving van wijzigingsgeschiedenis : de eigenlijke inhoud : inleidende delen (inhoudstafel, titelblad, voorwoord,…) : eigenlijke tekst : afsluitende delen (index, appendix, …)
: basisstructuur
: basisstructuur Strips op de Boekenbeurs: Nou Moe!, een digitale editie Ongepubliceerd, voorbeeld voor de cursus TEI van Library Lab De Morgen, woensdag 12/11/2014, cultuurbijlage p. 2-3 Eindelijk. Nadat de negende kunst op de Boekenbeurs...
: basisstructuur
TEI: basisstructuur Kleinste structuur binnen / / : -paragrafen (proza): -versregels (poëzie): -tekstregel (drama): Die muur, vol covers van genomineerde albums, gaf me geen goed gevoel. Een hooggeplaatst iemand uit de uitgeverswereld pikte dat… Mogelijk gegroepeerd in tekstdivisies: mogelijk attribuut om een type te bepalen s kunnen “nesten”, en dus andere s bevatten N.B. equivalent van voor poëzie: (line group), met Grote tekststructuren ( / / / ) mogen geen rechtstreekse tekst bevatten: steeds een kleiner structuurelement nodig ( in proza; in poëzie)
: basisstructuur Strips op de Boekenbeurs: Nou Moe! Stripkenner Geert De Weyer over hoe het beeldverhaal... Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Eindelijk. Nadat de negende kunst op de Boekenbeurs... Respect Dat er een initiatief als De beste Belgische strip wordt gehouden... Gemiste kans Vraag is of de stripwereld blij moet zijn...
: basisstructuur Strips op de Boekenbeurs: Nou Moe! Stripkenner Geert De Weyer over hoe het beeldverhaal... Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Eindelijk. Nadat de negende kunst op de Boekenbeurs... Respect Dat er een initiatief als De beste Belgische strip wordt gehouden... Gemiste kans Vraag is of de stripwereld blij moet zijn...
: basisstructuur Grote tekststructuren ( / / / ) kunnen hoofdingen hebben (optioneel) TEI element: Mogelijk om te verfijnen attribuut Alleen toegelaten aan het begin van tekststructuren
: basisstructuur Strips op de Boekenbeurs: Nou Moe! Stripkenner Geert De Weyer over hoe het beeldverhaal... Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Eindelijk. Nadat de negende kunst op de Boekenbeurs... Respect Dat er een initiatief als De beste Belgische strip wordt gehouden... Gemiste kans Vraag is of de stripwereld blij moet zijn...
: basisstructuur ? =
: basisstructuur ? = Gemiste kans Vraag is of de stripwereld blij moet zijn... Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Coderen = abstractie Afwegen systematische accidentele typografische kenmerken Afwegen of typografische kenmerken betekenisvol zijn (codeerprincipes documenteren in )
Intermezzo: globale attributen Elk TEI element kan een aantal vaste attributen krijgen: globale attributen Belangrijkste globale een aanduiding van bijzonderheden over de weergave van een een unieke identificatiecode voor een element, om er ondubbelzinnig naar te kunnen een nummer of label voor een element (niet een aanduiding van de taal van de tekst in het element
Intermezzo: globale attributen Elk TEI element kan een aantal vaste attributen krijgen: globale attributen Belangrijkste globale een aanduiding van bijzonderheden over de weergave van een een unieke identificatiecode voor een element, om er ondubbelzinnig naar te kunnen een nummer of label voor een element (niet een aanduiding van de taal van de tekst in het element...
Eentje voor de dames: oefening Open TBE validator: Codeer basisstructuur van Stijn van de Voorde: “Eentje voor de dames” (indien nodig)
Zelfverminking: oefening Open TBE validator: Codeer basisstructuur van Arnon Grunbergs tekst “Zelfverminking” (Groot Dictee der Nederlandse Taal 2011) (indien nodig)
: basisstructuur Geert De Weyer, stripredacteur
: basisstructuur Geert De Weyer, stripredacteur
: basisstructuur Geert De Weyer, stripredacteur Domper. Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Geert De Weyer, stripredacteur Eindelijk. Nadat de negende kunst op de Boekenbeurs...
: basisstructuur Sommige elementen kunnen alleen aan begin en einde van grote tekststructuren (, ) voorkomen: : aanduiding van auteur aan begin / eind van tekst(deel) : aanduiding van tijd / plaats van schrijven : aanhef/sluitformule (vaak in brieven) : handtekening
: basisstructuur Sommige elementen kunnen alleen aan begin en einde van grote tekststructuren (, ) voorkomen: : aanduiding van auteur aan begin / eind van tekst(deel) Geert De Weyer, stripredacteur : aanduiding van tijd / plaats van schrijven Brussel, 19 november 2014 : aanhef/sluitformule (vaak in brieven) Beste Karel, : handtekening Altijd jouw vriend, Karel
: basisstructuur Sommige elementen kunnen alleen aan begin van tekst(deel): : titel van een tekst(deel) Sommige elementen kunnen alleen aan einde van tekst(deel): : postscriptum (vooral in brieven)
: basisstructuur Sommige elementen kunnen alleen aan begin van tekst(deel): : titel van een tekst(deel) Strips op de Boekenbeurs: Nou Moe! Eindelijk. Nadat de negende kunst... Sommige elementen kunnen alleen aan einde van tekst(deel): : postscriptum (vooral in brieven) Zo liep het toch nog goed af. Vriendelijke groeten, Ron P.S.: uitgebreider verslag volgt later.
: basisstructuur Domper. Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Geert De Weyer, stripredacteur Eindelijk. Nadat de negende kunst op de Boekenbeurs...
: basisstructuur Geert De Weyer, stripredacteur Domper. 'Gisteren werd Album 26 van De Kiekeboes op de Boekenbeurs... Eindelijk. Nadat de negende kunst op de Boekenbeurs... Coderen = abstractie Soms abstractie maken van fysieke aspecten van logische tekststructuren
Aangehaalde tekst : tekst die wordt geciteerd uit een geschreven bron Bron kan worden aangeduid : tekst die wordt geciteerd uit een niet-geschreven bron Bron kan worden aangeduid : algemeen element voor aangehaalde tekst Bron kan worden aangeduid Drie mogelijkheden
Aangehaalde tekst Aangehaalde tekst: drie mogelijkheden : tekst die wordt geciteerd uit een geschreven bron Bron kan worden aangeduid Die term ontstond bij gebrek aan beter, zei hij in deze krant. : tekst die wordt geciteerd uit een niet-geschreven bron Bron kan worden aangeduid Die term ontstond bij gebrek aan beter, zei hij in deze krant. : algemeen element voor aangehaalde tekst Bron kan worden aangeduid Die term ontstond bij gebrek aan beter, zei hij in deze krant.
‘Aangehaalde’ tekst* Tekst die om een andere reden tussen aanhalingstekens staat: : tekst waarvan de spreker zich distantieert...de lancering van hun zogenaamde literaire strips. : woorden die vermeld worden als voorbeeld Een heel aantal is de contaminatie van een groot aantal en heel veel Wat met aanhalingstekens? Vrije keuze: ofwel meecoderen, ofwel systematisch vervangen door tags (en genereren voor presentatie) Best documenteren in sectie in * Coderen = abstractie Deze elementen hoeven in de brontekst niet met aanhalingstekens te worden gerealiseerd: Een heel aantal is de contaminatie van een groot aantal en heel veel.
Gemarkeerde tekst : tekst die visueel gemarkeerd is om retorische nadruk uit te drukken : tekst die linguïstisch gemarkeerd is van omliggende tekst / : technische term en verklaring : tekst die gemarkeerd is om ongedefinieerde reden Visuele informatie kan worden getypeerd (als ze bv. afwijkt van standaardweergave gedefinieerd in )
Gemarkeerde tekst : tekst die visueel gemarkeerd is om retorische nadruk uit te drukken Dit is wel erg voor de hand liggend! : tekst die linguïstisch gemarkeerd is van omliggende tekst het megafonetische neologisme vurrukkulluk / : technische term en verklaring een codeerschema is een verzameling formele regels voor de representatie van tekststructuren : tekst die gemarkeerd is om ongedefinieerde reden Dit was de laatste keer. Visuele informatie kan worden getypeerd (als ze bv. afwijkt van standaardweergave gedefinieerd in )
Anderstalige tekst : tekst in een andere taal Taal wordt gespecifieerd attribuut Alleen als er geen expressiever element is kan worden aangeduid een graphic novel of literaire strip attribuut in starttag van meest betekenisvolle element. een graphic novel of literaire strip
Informatie-eenheden: namen : eigennaam – : indirectere typering van de naamsoort (persoon, plaats, luchthaven, schip, subtype
Informatie-eenheden: namen : eigennaam – : indirectere typering van de naamsoort (persoon, plaats, luchthaven, schip, subtype auteur Merho of auteur Merho N.B.: consequentie = kostbaar; projecttijd ook
Informatie-eenheden: titels : titel van bibliografisch aanduiding van het bibliografische niveau: ‘a’: titel van onderdeel van een werk ‘m’: boektitel ‘j’: tijdschrifttitel ‘s’: serietitel
Informatie-eenheden: titels : titel van bibliografisch aanduiding van het bibliografische niveau: ‘a’: titel van onderdeel van een werk ‘m’: boektitel ‘j’: tijdschrifttitel ‘s’: serietitel Of Album 26, het zesentwintigste deel van De Kiekeboes uit 1984
Informatie-eenheden: datums : formele beschrijving van de datum: JJJJ-MM-DD, of JJJJ- MM, of JJJJ (of --MM-DD, of --MM, of ---DD) Ook andere attributen om bereik aan te uiterste uiterste einddatum
Informatie-eenheden: datums : formele beschrijving van de datum: JJJJ-MM-DD, of JJJJ- MM, of JJJJ (of --MM-DD, of --MM, of ---DD) Ook andere attributen om bereik aan te uiterste uiterste einddatum het zesentwintigste deel van De Kiekeboes uit 1984
Eentje voor de dames: oefening Open TBE validator: Verrijk de tekst verder:,,, / /,,,,,,,
Zelfverminking: oefening Open TBE validator: Verrijk de tekst verder:,,, / /,,,,,,,