Introduktion till XML
Vad är XML? Står för eXtended Markup Language Härstammar från SGML, Standard Generalized Markup Language ISO-standard
Vad & VARFÖR XML? SGML Ramverk för ”markup languages”. HTML Statisk specifikation för att presentera information XML Lagrar strukturerad information SGML - Används för att utifrån reglerna skapa nya språk för att beskriva strukturerad information HTML – Bland bristerna i HTML så finns att uppmärkningen primärt är inriktad på formatering av informationen, medan det finns väldigt lite information om själva datat. HTML-specifikation innebär ett begränsat antal element vilket minskar flexibiliteten. XML – Fördelarna med XML är bland annat att data är självbeskrivande genom sin struktur. Man kan skapa regelverk för XML-element och styra vilken typ av data de får innehålla (till exempel enbart siffror, begränsat antal tecken osv). Det går att skapa nya standarder för dokument i olika industrier och branscher eftersom det är utbyggbart. Flexibelt format för att utbyta information mellan olika system. Separerar Data från Presentation. XML i sig gör ingenting. XML är konstruerat för att strukturera, lagra och transportera information.
Vad & VARFÖR XML? Många tekniker på webben bygger på XML, till exempel: XHTML WSDL beskriver webbtjänster och dess funktioner samt hur dessa anropas RSS nyhetsflöden SMIL beskriva multimedia på webben
Exempel XML el db Dataöver- föring Webb- butik Lager- system TA-system Ekonomi- system Produktions- system CRM Exempel på hur olika system kan behöva dela med sig av data till varandra Webb-butik – en kund beställer en produkt som finns på lager Lager – någon får ut en plockorder ur lagersystemet, skriver ut fraktsedlar och använder ett transportadministrativt system för att registrera frakten Ekonomi – ser till att det skickas en faktura och sköter bokföringen Produktionssystem – vi behöver nu tillverka fler produkter att lägga på lager, så en signal måste gå hit om vi passerar en beställningspunkt CRM – vi vill hålla ordning på vilka som är våra kunder, och kanske även bearbeta dem med till exempel mailutskick
XML struktur & syntax Vad är det vi tittar på? En klassisk skiv-lista! Först i dokumentet kommer deklarationen, den specificerar vilken version av XML man använder. Man kan även ange teckenkodningen, vilket kan vara en stor fördel om man byter filer mellan mac och pc-miljö. Att ange teckenkodning är dock frivilligt. Angivet ovan är teckenkoden som är vanligast på Windows, Latin-1/West European character set. Exempel på andra vanliga teckenkodningar är UTF-8 och UTF-16.
XML struktur & syntax I varje XML-dokument finns ett (och bara ett) root-element. Alla övriga element ligger som underelement till root-elementet.
XML struktur & syntax Alla element ska ha en opening tag och en closing tag. <name> <- Opening tag </name> <- Closing tag
XML struktur & syntax Alla element ska ha en opening tag och en closing tag.
XML struktur & syntax XML är skiftlägeskänsligt (case sensitive) <name>, <Name> och <NAME> är tre olika saker. <INFO>detta kommer att bli fel</info> <info>detta kommer att bli rätt</info>
XML struktur & syntax XML måste vara korrekt nästlat Detta skulle kunna fungera i HTML: <p><b>Text i fetstil</p></b> men borde egentligen se ut så här: <p><b>Text i fetstil</b></p> Tolkarna av HTML (webbläsarna) är ofta förlåtande för den här typen av misstag. Detta fungerar inte i XML.
XML struktur & syntax – fel! Här har massor med fel smugit sig in! Den första stängningstaggen för name har råkat få två n Vi öppnar title och skriver in data och öppnar sedan en ny tagg utan att stänga den första Den första Rollingstoneranking har olika case på öppning och stängning Andra albumets <title> har råkat få versalt T. Dessa objekt är nu två olika typer.
XML struktur & syntax Element: <person> <namn>Magnus Westmar</namn> </person> Attribut: <person namn=”Magnus Westmar”></person> Normalt ska strukturen i XML byggas upp av element. Men man kan även använda sig av attribut. Ett attribut skrivs in innan det avslutande > i öppningstaggen. Attributet har två delar, attributets namn och attributets värde. Attributets värde ska alltid stå inom citationstecken. Antingen enkla eller dubbla citationstecken kan användas. Det finns inga klara regler för när man ska använda sig av ett element och när man ska använda sig av ett attribut. En bra tumregel är att använda attribut för metadata. Ett problem med attribut är att man inte får fram samma struktur som man får när man använder element.
XML struktur & syntax Tomma element skrivs <adress></adress> = <adress /> <person> <namn>Magnus Westmar</namn> <adress /> </person>
XML struktur & syntax Kommentarer skrivs som i HTML: <!-- Kommentar start --> Kommentar slut
XML - övriga begrepp att känna till XSLT XPath & XQuery XML Schema & DTD XSL står för eXtensible Stylesheet Language, och XSLT står för XSL Transformations. XSLT är alltså en teknik för att omvandla XML-filer. Omvandlingen kan bestå i att man gör om den för att kunna visas på ett specifikt format, till exempel mobila enheter. Men det kan även vara att konvertera till tab text eller annat format. Eller från en XML-struktur till en annan. XPath används för att navigera i XML-filen när man utför XSL-transformationer. XQuery förhåller sig till XML som SQL förhåller sig till databaser. Det är alltså ett språk för att ”ställa frågor” till XML-datat. XML Schema och DTD är tekniker för att specificera vad som är en godkänd struktur för en XML-fil. Man kan till exempel styra så att vissa element enbart får innehålla en viss typ av data eller ett visst antal tecken.
Strukturera – hur?
Databas – enkelt? Att arbeta med tabeller ger ganska stor flexibilitet!
Men hur gör vi strukturen i XML? Vi kan välja olika sätt att strukturera vår XML-fil Vilken vi väljer beror på vad vi tror att vi vill veta! Olika val kan göra XML-filen enklare eller svårare att arbeta med.
Struktur efter bok
Struktur efter författare
Struktur efter kategori