Merkespråk

Et markup language eller markup language er en måte å kode et dokument på som sammen med teksten inneholder tagger eller merker som inneholder tilleggsinformasjon om strukturen til teksten eller presentasjonen.

Det mest utbredte markup-språket er HTML ( HyperText Markup Language ), grunnlaget for World Wide Web (globalt kommunikasjonsnettverk).

Markup-språk blir ofte forvekslet med programmeringsspråk . Imidlertid er de ikke de samme, siden markup-språket ikke har aritmetiske funksjoner eller variabler, slik programmeringsspråk gjør. Historisk sett ble og brukes markup i forlags- og kommunikasjonsbransjen, så vel som mellom forfattere , utgivere og trykkerier .

Et eksempel på hvordan markeringsspråket fungerer kan sees i stemmedikteringen av et dokument til en person som transkriberer det på en skrivemaskin :

Sett bokstavstil, legg anførselstegn, legg store bokstaver, Kjære Juan, legg et kolon, til side, innrykk, legg første stor bokstav, jeg skriver dette brevet til deg, legg fet skrift, veldig presserende, nær fet skrift, siden du ikke har sendt meg... osv.

Markup language klasser

Det er vanlig å skille mellom tre klasser med merkespråk, selv om i praksis flere klasser kan kombineres i samme dokument. HTML inneholder for eksempel rene prosedyrekoder, slik som B for fet skrift , sammen med rent beskrivende ( BLOCKQUOTE , HREF -attributtet ). HTML inkluderer også PRE -elementet , som indikerer at teksten skal gjengis slik den er skrevet.

Presentasjonsoppmerking

Presentasjonsmarkering er en som indikerer formateringen av teksten . Denne typen markering er nyttig for å legge ut presentasjonen av et dokument for lesing, men det er utilstrekkelig for automatisk informasjonsbehandling. Presentasjonsmarkering er enklere å bygge, spesielt for små mengder informasjon. Det er imidlertid vanskelig å vedlikeholde eller modifisere, så bruken er redusert i store prosjekter til fordel for andre typer mer strukturert markering.

Du kan prøve å finne ut strukturen til et slikt dokument ved å se etter ledetråder i teksten. For eksempel kan tittelen innledes med flere linjeskift (eller linje), og plasseres sentrert på nettsiden . Flere programmer kan utlede strukturen til teksten basert på denne typen data, selv om resultatet vanligvis er ganske ufullkomment. Et eksempel på presentasjonsmarkering kan være RTF .

Prosedyreoppmerking

Prosedyreoppmerking er fokusert på presentasjonen av teksten, men den er også synlig for brukeren som redigerer teksten. Programmet som gjengir dokumentet må tolke koden i samme rekkefølge som den vises. For å formatere en tittel, må det for eksempel være en rekke direktiver rett før den aktuelle teksten, som forteller programvaren instruksjoner som sentrering, øke skriftstørrelsen eller endre til fet skrift . Umiddelbart etter tittelen skal det være omvendte tagger som reverserer disse effektene. I mer avanserte systemer brukes makroer eller stabler for å gjøre jobben enklere.

Noen eksempler på prosedyremarkering er nroff , troff , TeX . Denne typen markering har blitt brukt mye i profesjonelle redigeringsapplikasjoner, håndtert av dyktige typografer , siden den kan bli ekstremt kompleks.

Beskrivende markering

Beskrivende eller semantisk markering bruker tagger for å beskrive tekststykker, men uten å spesifisere hvordan de skal gjengis, eller i hvilken rekkefølge. Språk som uttrykkelig er designet for å generere beskrivende markup er SGML og XML .

Tagger kan brukes til å legge til alle typer metadata til innhold . For eksempel gir Atom -standarden , et syndikeringsspråk , en metode for tidsstempel "oppdatert", som er informasjonen gitt av utgiveren om når bestemt informasjon sist ble endret. Standarden spesifiserer ikke hvordan den skal representeres, eller selv om den skal representeres. Programvare kan bruke disse dataene på flere måter, inkludert noen som ikke er tiltenkt av designerne av standarden.

En av fordelene med beskrivende markering er dens fleksibilitet: tekstbiter merkes som de er , og ikke slik de skal vises . Disse fragmentene kan brukes til mer enn opprinnelig tiltenkt. For eksempel ble hyperkoblinger opprinnelig laget for å kunne klikkes av en bruker som leser teksten. Søkemotorer bruker dem imidlertid til å finne nye sider med relatert informasjon, eller for å vurdere populariteten til et bestemt nettsted .

Beskrivende markering forenkler også oppgaven med å formatere tekst på nytt, fordi formateringsinformasjon er atskilt fra selve innholdet. For eksempel kan et fragment angitt som kursiv (<i>tekst</i>), brukes til å markere fremheving eller for å indikere ord på et annet språk . Denne tvetydigheten, tilstede i presentasjons- og prosedyremarkeringen, kan bare unngås med en kjedelig gjennomgang for hånd. Imidlertid, hvis begge tilfellene hadde blitt beskrivende differensiert med forskjellige etiketter, kunne de enkelt representert annerledes.

Beskrivende markup utvikler seg til generisk markup . De nye beskrivende markeringssystemene strukturerer dokumentene i et tre , med mulighet for å legge til kryssreferanser . Dette gjør at de kan behandles som databaser , der selve lagringen er strukturbevisst, ikke som binære store objekter ( blobs ) som tidligere. Disse systemene har ikke et strengt skjema som relasjonsdatabaser , så de betraktes ofte som semistrukturerte databaser .

Kart over markeringsspråk

Dette er en liste over de viktigste markup-språkene sortert etter bruksområde. Merk at språk med generell omfang kan brukes for mer spesifikke applikasjoner (men ikke omvendt).

Major

GML --> SGML --> XML --> XML-dialekter

Dokumenter generelt

beskrivende språk Presentasjonsspråk lette språk Språk for manualer

Internett-teknologier

verdensveven Brukergrensesnitt Syndikering nettjenester

Spesialiserte språk

Historikk

Markeringsspråk er oppkalt etter den tradisjonelle praksisen med å merke manuskripter med utskriftsinstruksjoner i margene. I trykkpressens dager har denne oppgaven falt til markører, som indikerte skrifttype , stil og størrelse, samt feilretting, for andre mennesker å sette skrifttype . Dette førte til opprettelsen av en gruppe standardiserte merkevarer. [ 1 ] Med introduksjonen av datamaskiner ble et lignende konsept overført til dataverdenen .

Opprinnelse

Markup language konseptet ble først fremmet av William W. Tunnicliffe i 1967 . [ 2 ] Den største nyheten var skillet mellom presentasjonen og strukturen i teksten. Tunnicliffe, som foretrakk å referere til dette konseptet som generisk koding , skulle senere lede utviklingen av en standard han kalte GenCode for publiseringsindustrien. Lignende ideer ble også fremmet av utgiver Stanley Fish på slutten av 1960-tallet . Brian Reid viste i sin avhandling fra Carnegie Mellon University fra 1980 sin teori og en praktisk implementering av et beskrivende språk som fortsatt er i bruk.

Men som regnes som faren til markup languages ​​er Charles Goldfarb , en forsker for IBM -selskapet . Goldfarb var involvert i opprettelsen av GML -språket , og ledet senere komiteen som produserte SGML -standarden , hjørnesteinen i markup-språk. I alle fall, og til tross for kontroversene om opprinnelsen, er det allment akseptert at ideen oppsto uavhengig flere ganger i løpet av 1970 -tallet , og at den ble utbredt på 1980- tallet .

Primitive språk

Det første språket som tydelig skilte strukturen til presentasjonen var absolutt Scribe, utviklet av Brian Reid og beskrevet i 1980 i doktorgradsavhandlingen hans . [ 3 ] Scribe var revolusjonerende av en rekke årsaker, ikke bare fordi den skilte stil fra selve dokumentmarkeringen, men også på grunn av grammatisk kontroll over bruken av beskrivende elementer. Skriver påvirket utviklingen av senere språk.

En annen stor publiseringsstandard er TeX , skapt og vedlikeholdt av Donald Knuth1970- og 1980 -tallet . TeX fokuserer på detaljert tekststruktur og skriftbeskrivelse , først og fremst innen spesialiserte matematiske tidsskrifter. Dette tvang Knuth til å bruke mye tid på å studere typografi . TeX krever imidlertid omfattende kunnskap for å kunne brukes, og det er grunnen til at det kun har slått an i akademiske omgivelser, hvor det er de facto -standarden i flere vitenskapelige disipliner. Den mest utbredte programvaren for bruk av TeX er LaTeX .

Bortsett fra forlagsbransjen dukket det også opp noen initiativer, som troff- og nroff- språkene, språk som brukes til layout på UNIX -systemer . Funksjonaliteten var begrenset fordi den tvang til å prøve og feile , helt til merkene satt inn i teksten ga ønsket resultat. Disse språkene fanget ikke opp i profesjonelle miljøer, og ble brukt av sporadiske brukere. Utseendet til tekstbehandlere av typen WYSIWYG henviste disse systemene til glemselen.

Generaliseringen av markup-språk

Initiativet som skulle legge grunnlaget for dagens språk ville komme fra IBM-selskapet, som var på utkikk etter nye løsninger for å vedlikeholde store mengder dokumenter. Arbeidet ble betrodd Charles F. Goldfarb , som sammen med Edward Mosher og Raymond Lorie designet Generalized Markup Language eller GML (merk at dette også er initialene til dets skapere). Dette språket arvet fra GenCode- prosjektet ideen om at presentasjon skulle skilles fra innhold. Markup fokuserer derfor på å definere strukturen til teksten og ikke dens visuelle presentasjon.

GML-språket var en stor suksess, og det spredte seg snart til andre felt, og ble adoptert av USAs regjering , og ga dermed opphav til behovet for å standardisere det . På begynnelsen av 1980 -tallet ble det dannet en komité ledet av Goldfarb. Sharon Adler , Anders Berglund og James D. Mason var også medlemmer av komiteen. Ideer fra ulike kilder ble innarbeidet, og et stort antall personer deltok. Etter en lang prosess, i 1986 ville International Organization for Standardization publisere Standard Generalized Markup Language med rangeringen av International Standard med koden ISO 8879 . [ 4 ]

SGML spesifiserer syntaksen for å inkludere markering i tekst, samt dokumentsyntaksen som spesifiserer hvilke tagger som er tillatt og hvor: dokumenttypedefinisjonen eller skjemaet . Dette tillot en forfatter å bruke hvilken som helst markering de ville, ved å velge tagnavn som ga mening både på grunn av dokumentets emne og språket . Dermed er SGML strengt tatt et metaspråk , som flere spesialiserte språk er avledet fra. Siden slutten av 1980 -tallet har det dukket opp nye språk basert på SGML, som TEI eller DocBook .

SGML ble allment akseptert og brukes nå i felt der storskala dokumentasjon er nødvendig. Til tross for dette var det tungvint og vanskelig å lære seg, som et resultat av ambisjonene til de målene som ble satt. Hans store makt var både en fordel og en ulempe. For eksempel kan visse etiketter bare ha begynnelsen, eller bare slutten, eller til og med bli ignorert, og tenkt at tekstene ville bli skrevet for hånd og at dette ville spare tastetrykk . Det var imidlertid et nøkkelpunkt i utviklingen av nåværende markup-språk, siden de aller fleste stammer fra det.

Popularisering: HTML

I 1991 så det ut til at WYSIWYG-redaktører (som lagrer dokumenter i proprietære binære formater ) ville omfatte nesten alt av tekstbehandling , og henvise SGML til svært spesifikke profesjonelle eller industrielle bruksområder. Situasjonen endret seg imidlertid dramatisk da Sir Tim Berners-Lee , som hadde lært SGML av sin kollega ved CERN Anders Berglund, brukte SGML- syntaks for å lage HTML -en .

Dette språket lignet på alle andre skapt fra SGML, men det var ekstremt enkelt, så mye at DTD ikke ble utviklet før senere. DeRose [ 5 ] hevder at fleksibiliteten og skalerbarheten til HTML-markering var en av hovedfaktorene, sammen med bruken av URL -er og gratis distribusjon av nettlesere , i suksessen til World Wide Web .

HTML er den mest brukte dokumenttypen i verden i dag. Dens enkelhet var slik at hvem som helst kunne skrive dokumenter i dette formatet, med lite behov for datakunnskaper. Dette var en av grunnene til suksessen, men det førte også til noe kaos . Den eksponentielle veksten av nettet på 1990- tallet ga massive, men dårlig strukturerte dokumenter, et problem som ble ytterligere forverret av manglende respekt for standarder fra webdesignere og programvareleverandører.

Modenhet: XML

Svaret på problemene som oppsto rundt HTML kom fra hånden til XML (e X tensible M arkup L anguage ). XML er et metaspråk som lar deg lage etiketter tilpasset dine behov (derav begrepet "utvidbar"). Standarden definerer hvordan disse taggene kan se ut og hva som kan gjøres med dem. Det er også spesielt strengt med hensyn til hva som er tillatt og ikke, hvert dokument må oppfylle to betingelser: være gyldig og være godt utformet .

XML ble utviklet av World Wide Web Consortium , [ 6 ] gjennom en komité opprettet og ledet av Jon Bosak . Hovedmålet var å forenkle [ 7 ]​ SGML for å tilpasse den til et veldig presist felt: dokumenter på internett.

Det nye språket spredte seg raskt, siden hvert XML-dokument i seg selv er SGML. Programmer og dokumenter laget for og med SGML kan nesten automatisk konverteres til det nye språket. XML forenklet kompleksiteten til SGML radikalt, noe som gjorde det enklere å lære og implementere den nye standarden. Gamle problemer ble også løst, som de som oppsto fra internasjonalisering, og umuligheten av å validere et dokument uten skjema . Den grunnleggende suksessen til dette språket er at det finner en balanse mellom enkelhet og fleksibilitet.

XML var opprinnelig ment for semistrukturerte miljøer, som tekster og publikasjoner. Et av de tydeligste eksemplene er XHTML , redefinisjonen av HTML i XML-nøkkel, med de fordelene dette medfører. Imidlertid ble det snart observert at dens dyder kunne være nyttige på svært forskjellige felt. XML-baserte språk har utallige applikasjoner, for eksempel datatransaksjoner mellom servere , utveksling av finansiell informasjon , kjemiske formler og reaksjoner og mye mer.

Trender

Nye trender har forlatt trestrukturerte dokumenter . Tekstene til gammel litteratur har vanligvis en prosa- eller poesistruktur : vers , avsnitt osv. Referansedokumenter er vanligvis organisert i bøker , kapitler , vers og linjer . De blander seg ofte med hverandre, så trestrukturen passer ikke dine behov. De nye modelleringssystemene overvinner disse ulempene, for eksempel MECS , designet for arbeidet til Wittgenstein , eller TEI-retningslinjene , LMNL og CLIX .

The Text Encoding Initiative ( TEI) har publisert mange guider [ 8 ] for koding av dokumenter av interesse innen humaniora og samfunnsvitenskap , utviklet over år med internasjonalt samarbeid. Disse retningslinjene har blitt brukt i utallige katalogiseringsprosjekter for historiske dokumenter, vitenskapelige artikler, etc.

Det semantiske nettet

Markup-språk er det grunnleggende verktøyet i utformingen av det semantiske nettet , det som ikke bare gir tilgang til informasjon , men som også definerer betydningen, slik at dets automatiske behandling er enklere og det kan gjenbrukes til forskjellige applikasjoner. [ 9 ] Dette oppnås ved å legge til tilleggsdata til dokumentene, gjennom to uttrykkelig opprettede språk: RDF ( Resource description framework -Resource description platform) og OWL ( Web Ontology Language -Ontology language for the web), begge basert på XML.

Funksjoner

Ren tekst

En av hovedfordelene med denne typen koding er at de aller fleste kan tolkes direkte siden de er rene tekstfiler , unntatt noen presentasjonsspråk som lagrer informasjon i binære filer som ' .doc ' i MS Word der bare en liten del av informasjonen er leselig. Dette er en åpenbar fordel i forhold til binære filsystemer, som alltid krever et mellomprogram å jobbe med. Et dokument skrevet med markup-språk kan redigeres av en bruker med en enkel tekstredigerer , uten at det berører bruken av mer sofistikerte programmer som letter arbeidet.

Siden de kun er tekst, er dokumentene uavhengige av plattformen, operativsystemet eller programmet de ble opprettet med. Dette var en av premissene til skaperne av GML på 1970 -tallet , for ikke å legge til unødvendige begrensninger for utveksling av informasjon. Det er en av de grunnleggende årsakene til den store aksepten de har hatt i fortiden og den utmerkede fremtiden som er spådd for dem.

Kompakthet

Markeringsinstruksjoner blandes med selve innholdet i en enkelt fil eller datastrøm. Dette er et eksempel på forskjellige markup-språk:

eksempler HTML Lateks Wikitekst
Tittel <h1>Tittel</h1> \section{Tittel} == Tittel ==
Klar

<ul>
<li>Punkt 1</li>
<li>Punkt 2</li>
<li>Punkt 3</li>
</ul>

\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize}

* Punkt 1
* Punkt 2
* Punkt 3

fet tekst <b>tekst</b> \bf{tekst} '''tekst'''
kursiv tekst <i>tekst</i> \it{tekst} ''tekst''

Kode i vinkelparenteser som <ul> , eller med \section -tagger , er markeringsinstruksjoner, også kalt tagger. Disse spesifikke kodene er beskrivende for strukturen til dokumentet, og kan være dets visuelle presentasjon på ulike måter. I -taggen (fra i talics , kursiv) angir derimot at teksten skal vises i kursiv, uten å spesifisere årsaken til denne differensieringen: det er en presentasjonskode. Teksten mellom disse instruksjonene er det faktiske innholdet i dokumentet.

Enkel behandling

Standardorganisasjoner har utviklet spesialiserte språk for dokumenttypene til bestemte samfunn eller bransjer. En av de første var CALS , brukt av det amerikanske militæret for deres tekniske manualer. Andre bransjer som krever mye dokumentasjon, som luftfart , telekommunikasjon , bilindustrien eller maskinvare , har utviklet språk tilpasset deres behov. Dette har ført til at deres manualer kun er publisert i en elektronisk versjon, og deretter hentes de trykte, online- eller CD -versjonene fra den . Et bemerkelsesverdig eksempel var tilfellet med Sun Microsystems , et selskap som valgte å skrive produktdokumentasjonen sin i SGML , og sparte betydelige kostnader . Ansvarlig for den avgjørelsen var Jon Bosak, som senere skulle grunnlegge XML-komiteen.

Fleksibilitet

Selv om markup-språk opprinnelig ble utviklet for tekstdokumenter, har de kommet i bruk i områder som vektorgrafikk , webtjenester , nettsyndikering eller brukergrensesnitt . Disse nye applikasjonene drar fordel av enkelheten og kraften til XML-språket. Dette har gjort det mulig å kombinere flere forskjellige markup-språk i en enkelt fil, som i tilfellet med XHTML+SMIL og XHTML+MathML+SVG. [ 10 ]

Referanser

  1. ^ "Tegn på korreksjon" . Arkivert fra originalen 10. august 2006 . Hentet 4. august 2006 . 
  2. Konferanse med tittelen The Separation of Information Content of Documents from their Format , holdt i Ottawa i september 1967.
  3. Reid, Brian. Scribe: Et dokumentspesifikasjonsspråk og dets kompilator . Pittsburgh : Ph.D. avhandling, Carnegie-Mellon University.  , også tilgjengelig som teknisk rapport, CMU-CS-81-100.
  4. Referanse til standarden 8879 på nettet til ISO
  5. DeRose, Steven J. ( 1997 ). SGMLFAQ-boken . Boston : Kluwer Academic Publishers. ISBN  0-7923-9943-9 . 
  6. xml-språkreferanse, versjon 1.1
  7. W3C-merknad om forskjellene mellom SGML og XML
  8. TEI-konsortiets nettsted
  9. Semantisk nett på W3C
  10. XHTML+MathML+SVG på W3C-nettstedet .

Bibliografi

Eksterne lenker