I XML kan man lave sine egne mærker, og proppe data imellem.
<forfatternavn>Steven Snedker</forfatternavn>
<artikeltitel>Hvad hulen er XML?</artikeltitel>
XML kan, som HTML, læses med en almindelig browser og et almindeligt tekstredigeringsprogram.
Men det nyttige er, at folk på den anden side af kloden kan hive forfatternavn og artikeltitel ud af Vertikal uden at anstrenge sig det mindste.
Man kan også lægge XML i egne dokumenter. Ser du på dem med din browser, ser de kedelige ud. Men vælger du vis kilde i browseren, ser de straks pænere ud. Prøv med denne cd-samling 🏛️ (åbn den i et nyt vindue med et højreklik).
"Åh nej," siger du måske. "XML er måske nok fedt, fordi programmer kan læse det. Men det ser jo ud af helvedes til. Så skal jeg både lave en HTML-version... Og så skrive det hele XML-formateret igen."
Ikke nødvendigvis. Man kan lave en formateringsfil, der bestemmer hvordan XML-filen skal præsentere sig i en vanlig browser. Tilsætter man denne formaterings-fil 🏛️ til ovenstående cd-katalog, får man noget der både er læsbart for maskiner og mennesker 🏛️. Prøv selv at se.
Men her er tre gode grunde til at holde sig fra at bruge denne formateringsmetode kaldet CSS:
Google siger i skrivende stund, at vertikal.dk får 322 indgående links.
Når vi hiver data ud af Google bliver vi nødt til at skrive "tag det tal (i den blå bjælke øverst) der står mellem Results 1-10 of about og . Search took"
Vi skraber skærmen.
Det er usikkert og svært. Hvad nu hvis Google laver om på layoutet? Så mister vi alt. Vi skal til at ændre i vores program.
Bruger Google i stedet et XML-mærke, <resultcount>322</resultcount> (dansk: <antalresultater>), kan de lave lige så tosset om på deres layout de ønsker. Alle der bruger deres data, får dem stadig i klokkeren kvalitet.
Samarbejdet kaldes for RSS 🏛️. Det er forholdsvis udbredt og populært.
Vertikal.dk drejer sig i væsentlig grad om at give mennesker læselig tekst og billeder. Til det brug er HTML meget velegnet. Var vi Danmarks Statistik 🏛️ eller en stor butik á la Home 🏛️ eller DPReview 🏛️ ville det være sjovere at kaste XML-dokumenter på vores server som folk kunne skrabe fra, sortere i og bruge på deres egne sider. Reglen er:
Jo flere data og jo mere attraktive de er, jo større grund er der til at bruge XML.
Hvis der kun er fem produkter, er der næppe nogen, der gider downloade din XML-datafil og lave magi med den. Mejetærskere, artikler og beskrivelser af rengøringstjenester kan heller ikke hamle op med "alle data om alle digitalkameraer i hele verden" eller "billeddatabase med 10.000 billeder", når det drejer sig om at tiltrække brugere af ens XML-formaterede data.
Og mere skal der ikke siges om XML som dataudvekslingsformat idag.
Men XML er dokumenter. Data hører ikke til i dokumenter. Data hører til i databaser. Fra databaser kan man så sætte tekster, billeder, måledata og lyde sammen til HTML, PDF- eller XML-dokumenter alt efter behov.
Databaser kan dog være lidt tunge at danse med. Det er ikke alle, der kan sætte en databaseserver op eller designe en database, der passer til deres opgave. Det er ikke alle, der kan finde programmer (eller lave websider), der kan sætte mennesker i stand til at fylde databasen med data. Derimod kan alle finde ud af at bruge et XML-redigeringsprogram 🏛️ til at skrive strukturerede data ind med. Det er også meget let og intuitivt at klistre alle filer sammen til én stor fil og så sidde og trække data ud fra den centralt - f. eks. med programmet Quip 🏛️. Skulle man endelig begynde at savne en SQL-database er vejen fra XML til SQL ikke så stenet. Med lidt eksperthjælp er det ikke umuligt at fylde XML-data på SQL-databaser 🏛️.
Er XML så kommaseparerede filer overlegne som første inddateringsformat? Ja. Det er lettere at enes om strukturen af et XML-dokument og så hælde data i det.
Er XML-redigeringssoftware så også bedre at hælde data i end Excel 🏛️? Hvis man ikke har Exel, er det billigere med XML. Har man Excel er det forholdsvis enkelt at puste data fra Excel til Access 🏛️.
Laver du dokumenter, er XML det eneste fornuftige valg. Skal du indskrive eller opbevare data kan det være nyttigt.
Men kræver du avancerede dataudtræk er relationelle databaser, SQL-databaser, at foretrække. SQL er med sine 25 år moden teknologi og værktøjerne er kraftfulde. XML træder stadig sine barnesko.
Det har taget hundredevis af timer og krævet ekspertise! Til gengæld kan vi proppe data i den centrale database via enhver browser på en Internet-forbunden maskine. Og vi kan trække dem ud på meget avancerede måder. Se f. eks.
Alle vore værktøjer er solide, resultatet af mange udviklingsår, afprøvede og gratis. Havde vi ikke været kræsne, kunne vi have downloadet et gratis publiceringssystem og været i gang på 5-6 timer.
Jeg har sommeren 2002 endnu ikke set en dansk XML-succeshistorie. Men jeg kan forestille mig, at XML er udmærket i rollen som kommasepareret fil på syre. Til enkle opgaver.
Der findes et Dansk XML-forum 🏛️. Efter at have fulgt 20 links fandt jeg én (1) demo, der angiveligt skulle vise XMLs nytte 🏛️. Demoen viser, at man kan lave en printervenlig udgave ved at ændre på formateringen af sidens data. Det er hverken unikt eller fantastisk eller et argument for at bruge XML. Det kan alle databasebaserede publiceringssystemer.
XML (og SOAP og .Net og Java og...) ser i høj grad ud til at bruges 90% til blændværk og stillen af nørdnysgerrighed og 10% til at lave løsninger, der rent faktisk er hurtigere at udvikle, mere stabile, mere skalérbare og billigere for kunden end en SQL-databasebaseret løsning.
XML er nyttig når den bruges som erstatning for skærmskrabning 🏛️, altså deling af data med folk man ikke vil have til at sidde og lege direkte med ens database. Det er vist også hvad Software AG siger på en indviklet måde 🏛️.
I det ene, et publiceringssystem, gemte vi artiklerne i XML. I forhold til Vertikals publiceringssystem gav det cirka 400% flere <mærker> inde i den tekst, brugerne skulle redigere i. Og mange flere fejlmeddelelser. Flere <mærker>, flere fejl, flere fejlmeddelelser. Det var artikler, der kun skulle bruges ét sted og publiceres af ét publiceringssystem. Gråspurve med kanoner.
I det andet projekt skulle vi gemme en crawle- og skærmskrabe-opskrift til en søgerobot (nej, kunden var ikke heltene fra Newsbooster 🏛️). Opskrifterne blev gemt som XML-dokumenter. Hvorfor ikke i SQL-tabeller i en database? Tja. SQL er ikke så stærkt et salgsargument som XML. XML er officielt "næste generation webservices", "standard", "fremtidssikret" og - uofficielt - "noget der imponerer kunderne". Før du lader dig imponere, så se lige til XMLsucks.org 🏛️. Det eneste sted, der tør sige, hvor mange klæder kejseren har på.
Men lad gå.
Som vi har set, var det dumt at skrive <artikeltitel>Hvad hulen er XML?</artikeltitel> når tusinder af andre mennesker har et system kørende hvor det hedder <title>Hvad hulen er XML?</title>. Rundt omkring på nettet (altså i verden) sidder folk og forsøger at finde på standarder for <mærker>. "Lad os kalde det samme. Så kan vi bruge hinandens data let og ubesværet," lyder den gode idé:
Man har fundet på Dublin Core 🏛️ for at have en fælles terminologi for hvad der nu er i dokumenter. Det kan udtrykkes på XMLsk 🏛️.
Man har fundet på XML Namespaces 🏛️ for at undgå konflikter. Man kan med en URL fortælle at man i sine XML-dokumenter mener "navn, som i forfatternavn (se [URL])" eller "navn, som i deltagernavn (se [URL])".
Man har fundet på XML Schemas 🏛️ for at dokumentere indholdet af XML-dokumenterne (
Man har fundet på
Det er ikke din skyld, at det er så indviklet. Strukturerede tekstformater kan bruges til mange ting.
Godt XML-eksempel:
Som om du ikke havde software nok i forvejen: en
Et
Datakommunikationen imellem forskellige IT-systemer er i dag vanskeliggjort af uensartede systemer og dataformer. Dette betyder, at det er vanskeligt at søge samt udveksle data mellem systemer.Med XML som fælles offentlig standard sikres dels, at data som skabes, behandles og udveksles i den offentlige sektor, lettere end i dag kan overføres på tværs i den offentlige sektor, og dels sikres maksimal genanvendelse af allerede indsamlede data. Dermed understøtter XML standarden ikke alene i effektiviseringsgevinster, men også kvalitetsforbedringer til gavn for både medarbejdere, virksomheder og borgere.
Alle webansvarlige i offentlige virksomheder burde læse
Med XML vil nyttige tjenester som
Er du webansvarlig i det offentlige må du endelig se på
Har du konkrete opgaver,
Har vi på Vertikal noget data/indhold, du gerne vil have leveret i XML, så skriv.