!

Dette materialet blir ikke lenger vedlikeholdt. Du vil finne oppdatert materiale på siden: http://borres.hiof.no/wep/

SGML
LaTex
Postscript
RTF
XHTML
HTML5
Børre Stenseth
Dokument >Markup

Markup

Hva
Utseende og struktur

I modulen MVC drøftet vi sammenhengen mellom struktur, utseende og dynamikk i et dokument. I denne modulen ser vi litt mer generelt på forholdet mellom struktur og utseende.

På den ene siden ønsker vi å tilføre dokumenter utseende og på den andre siden ønsker vi å gi dokumenter en struktur.

Behovet for utseende er åpenbart fordi vi ønsker å lage pene dokumenter, med overskrifter, innrykk, ulike fonter og fontstørrelser etc.

Struktur ønsker vi i hovedsak av to grunner:

  • Vi vil bruke dokumentene som datasett og skrive eller bruke programmer som kan lese og endre innholdet som strukturerte data. Et typisk slikt program er en nettleser, men vi vil ofte ha behov for å skrive egne programmer. En typisk oppgave kan f.eks. være og ekstrahere ingressen fra en serie dokumenter og samle dem i et annet dokument. For at dette skal være mulig må begrepet ingress være definert, identifiserbart, i dokumentene.
  • Vi vil lett kunne endre dokumentets utseende ved å endre egenskapene til de enkelte elementene i dokumentet. F.eks. endre fonten på alle overskrifter, eller endre linjeavstand i all brødtekst. Dette er viktig også fordi vi ønsker å framstille dokumentet på forskjellige medier som papir, skjermer, små skjermer, overheadkanoner. For at dette skal være mulig må de enkelte elementtypene merkes, det er ikke effektivt å gi individuell form til alle deler av et dokument.

Denne to-sidigheten ved et dokument, utseende og struktur, er nøkkelen til å forstå dokumentbehandling og alle de ulike teknologiene som er under utvikling på dette området. Det er forbløffende mange, også erfarne forfattere av HTML-dokumenter eller for den saks skyld Word eller Open office dokumenter, som ikke har forstått denne tosidigheten ved et dokument.

Markup av tekst er ikke noe nytt fenomen. Det er lett å tenke seg at behovet for å sette merker i en standardisert form i en tekst for å angi hvordan den skulle settes har vært nyttig og nødvendig i trykkeribransjen i lang tid. Elektronisk behandling av dokumenter gjør det selvsagt mulig å sette slike merker i teksten på en slik måte at framstillingsteknologien, skjermdriver eller printerdriver, kan tolke merkene. Begrepet WYSIWYG (What You See Is What You Get) som ble introdusert på 80-tallet i forbindelse med introduksjon av rastergrafiske skjermer er en god illustrasjon på dette. Det WYSIWYG egentlig betyr er at det du lager på skjermen er det samme som det du får ut på skriveren. Som bruker av tekstbehandlingsprogrammer, som f.eks. MSWorld, blir du tilbudt funksjonalitet som i tillegg til å behandle selve teksten, gjør det mulig å bestemme nøyaktig hvordan teksten skal se ut. For at dette skal være mulig må det legges igjen (skjult) informasjon i teksten som skriveren og skjermdriveren kan forstå og tolke. Slik informasjon om dataene kan vi kalle metainformasjon. Det har blitt introdusert en rekke formater, både proprietære og åpne, for å realisere dette.

Øvelse 1
Lage et enkelt dokument i Microsoft Word, med en overskrift og et par linjer tekst.
  • Spar dokumetet som .doc format. Forsøk å åpne det i en flat editor, f.eks. Notepad++, og se om du kan finne igjen den teksten du har skrevet. doc er et proprietært binærformat fra Microsoft og du er avhengig av at editoren forsøker å tolke binærdataene som tegn.
  • Spar dokumentet som .rtf (rich tekst format). Forsøk å åpne det i Notepad++, og se om du kan finne igjen den teksten du har skrevet. rtf er et format som er introdusert av Microsoft. rtf har fått en viss utbredelse ( og et litt frynsete rykte).
  • Spar dokumentet som .html. Forsøk å åpne det i Notepad++, og se om du kan finne igjen den teksten du har skrevet.

Forsøk å endre teksten slik du finner den i Notepad++ i de forskjellige formatene og forsøk deretter å åpne den i Word.

Skriv dokumentet ved å velge en tilgjengelig skriver, men merk av at du vil skrive til fil. Forsøk å åpne den .prn- fila som lages og se om du kan finne igjen den teksten du har skrevet. prn fila vil for de fleste printere være i Postscript. Postscript er til forskjell fra eksemplene ovenfor et programmeringsspråk som utføres på skriveren.

Øvelse 2
Lage et enkelt tekst dokument i Open Office, med en overskrift, litt tekst og kanskje et bilde eller en tabell.
  1. Spar dokumetet som minfil.odt.
  2. Døp om dokumentet til minfil.zip
  3. I windows: dobbeltklikk på dokumentet i explorer og pakk ut innholdet i en katalog
  4. Forsøk å åpne fila content.xml i en editor og se om du finner igjen det du har skrevet.
  5. Forsøk å åpne andre filer i katalogen.
Øvelse 3
Lage et enkelt tekst dokument i Microsoft word, med en overskrift, litt tekst og kanskje et bilde eller en tabell.
  1. Spar dokumetet som minfil.docx.
  2. Døp om dokumentet til minfil.zip
  3. I windows: dobbeltklikk på dokumentet i explorer og pakk ut innholdet i en katalog
  4. Forsøk å åpne filer i katalogen og lokalisere din tekst.

Hovedfokus i WYSIWYG-strategien er layout, altså hvordan dokumentet skal se ut. Digital behandling av strukturerte data har historisk hatt fokus mot databaser, regnearkformater eller CSV (kommasepararerte) filer. Framstilling av strukturerte data har i stor grad vært behandlet av diverse rapportgeneratorer eller spesialprogrammer i de enkelte tilfellene. Nå er ikke verden fullt så enkel: Microsoft har lagt ned en god del arbeid i å utvikle proprietære teknologier for å integrere verktøyene i MSOffice-familien på en slik måte at data kan sirkulere mellom ulike verktøy i familien.

Mangelen på ryddighet og forståelse av de to perspektivene på et dokument, layout og struktur, er et problem som stikker dypt, både systemteknisk og mentalt. De fleste brukere av tekstbehandlere har ikke dette skillet klart for seg og bruker strukturelementer og formatspesifikasjoner om hverandre for å oppnå visuelle effekter. Det samme skjer ved skriving av HTML.

XML-teknologien er interessant fordi:

  • det gjør det mulig og naturlig å skille klart mellom struktur og layout
  • det gjør det mulig å bearbeide begge aspektene ved et dokument hver for seg, og samtidig
  • den gjør det teknisk enkelt å definere felles struktur for dokumenter innen en organisasjon eller et fagområde.
  • det finnes en rekke produkter og programbiblioteker som gjør behandling av XML-dokumenter sikkert og enkelt.
  • den er i motsetning til de fleste av de andre markup-språkene befriende enkel. Det er så enkelt at det er vanskelig å korrumpere selve ideen med proprietære varianter
  • den er anvendbar både til tradisjonell dokumentbehandling og til veldefinerte mellomformater i systemløsninger og til konfigurasjonsbeskrivelser.
  • den er et alternativ til enkle databaseløsninger.
  • den passer som hånd i hanske som mellomformat mot databaseløsninger.

Når det gjelder HTML i forhold til XML, så er dette et litt komplisert bilde. Vi har hatt en periode på ca 10 år der utviklingen har gått entydig i retning av velformet HTML, XHTML, og et klarere og klarere skille mellom struktur og utseende, CSS (Cascading Style Sheets). Introduksjone av HTML5 er på mange måter et brudd med denne utviklingen. HTML5 aksepterer, og legger opp til, ikke-velformet markup. Det ser imidlertid ut til at det ikke vil skape problemer å fortsette tradisjonen med velformet markup, i form av velformet HTML5, XHTML5. Mer om dette i modulen HTML

Andre markup-språk

Det er lett å se at det generelle behovet for å standardisere dokumenter slik at de kan utveksles mellom applikasjoner har ført til en rekke mer eller mindre utbredte standardformater opp gjennom databehandlingens historie. Det finnes en oversikt over markup-språk på Wikipedia [1] De som er nevnt nedenfor har nesten utelukkende blitt utformet med tanke på å beskrive layout.

RTF

Rich Text Format er et format som ble introdusert av Microsoft. Se f.eks.: [2] for en beskrivelse. Du kan se hvordan det ser ut ved å lagre en MS Word fil som rtf og åpne den i Ultraedit eller Notepad eller en lignende teksteditor.

LaTeX

ble opprinnelig introdusert som TeX av Donald Knuth fordi han trengte et verktøy for å kontrollere teksten i en bok han skrev. LaTeX har hatt og har fortsatt utbredelse og tilhengere i akademiske miljøer. Mer om både LaTeX og Knuth på sidene til TeX Users Group: [3]

troff

Utdrag fra innledningen fra Troff User's Manual by Jospeh F. Ossanna and Brian W. Kernighan, se [4]

"troff is a text-formatting program for driving the Graphic Systems phototypesetter on the UNIX and GCOS operating systems. This device is capable of producing high quality text.... troff allows the user full control over fonts, sizes, and character positions, as well as the usual features of a formatter: right-margin justification, automatic hyphenation, page titling and numbering, and so on. It also provides macros, arithmetic variables and operations, and conditional testing, for complicated formatting tasks."

Postscript

Postscript representerer en litt annen innfallsvinkel til formatering. Vi markerer ikke for Postscript i dokumentet, men det finnes oversettere som genererer Postscript basert på annen markup. Hele dokumentet omgjøres til et program som så kan transporteres og kjøres på den enheten som skal presentere det. Printere er typiske enheter som kan utføre postscriptkode. [5]

Referanser
  1. List of document markup languages Wikipedia en.wikipedia.org/wiki/List_of_document_markup_languages 14-08-2011
  1. RTF (Rich text Format) Bibioscape www.biblioscape.com/rtf15_spec.htm 14-03-2010
  1. LaTeX TeX Users Group www.tug.org/ 14-03-2010
  1. troff W. Richard Stevens www.kohala.com/start/troff/troff.html 14-03-2010
  1. Postscript Adobe www.adobe.com/products/postscript/main.html 14-03-2010
Vedlikehold
Børre Stenseth, revidert 2009
( Velkommen ) Dokument >Markup ( HTTP )