fredag, januari 19, 2007
XML och scheman
Nu har kursen börjat och som första del har vi analyserat kvitton (vanliga kvitton från matvaruaffärer) för att skapa ett enhetligt vokabulär och senare för att normalisera informationen. Kvitton ifrån olika affärer ser olika ut men innehåller ungefär samma information. Problemet är "ungefär", varje affär vill presentera sina kvitton på sitt sätt. Lösningen (som jag tror) är att man sparar layouten i en sepparat XML fil som bearbetas av en XSLT som binder samman layout (och affärernas egna termer) med databas (som i sin tur finns utspridd över ytterliggare XML filer). På så vis kan man lätt lägga till nya affärer men använda samma back-end, vilket är trevligt om man vill kunna räkna statistik exempelvis per vara.
I XML finns det tre olika typer av scheman som kan användas för validering. Det finns olika nivåer av validering varav den enklaste är att filen är välutformad vilket innebär att alla taggar som börjar måste sluta, exmepelvis:
<tag>innehåll</tag> <-- gilltig
<tag>innehåll <-- ogilltig
Man kan också skapa ett element (det finns element och attribut, kort kan man säga att element är delar med < > och attribut står inom en starttag/tomtag) som tomt:
</tag> <-- gilltig
I den andra änden av valideringen kontrolleras att innehåller är semantiskt korrekt. Ett exempel på det kan vara att vid angivelse av tidsperiod ska stratdatum inträffa före slutdatum. Mittemellan finns validering av datatyper men det stöds inte av alla scheman. De scheman som jag hittills kommit i kontakt med är DTD, XSD och Relax NG. De skiljer sig åt ganska kraftigt och då framförallt DTD som uppfanns någon gång på 80-talet. Jag ska försöka förklara lite mer ingående.
Prenumerera på:
Kommentarer till inlägget (Atom)
Inga kommentarer:
Skicka en kommentar