XML, scheman och mappningar Laboration 4, övning 2 XML, scheman och mappningar MBl
Definitioner Flatfil XML-fil Fil utan taggar Textfil Kommaseparerad eller liknande XML-fil Fil kodad med hjälp av XML-taggar MBl
Fler definitioner Flatfilsschema XML-schema XML-schema som beskriver hur filen är uppbyggd, vad som separerar element och vad som separerar delar av element Mappning mellan flatfil och XML XML-schema Beskriver hur en XML-fil är uppbyggd, vilka taggar som används samt namn på dem MBl
Uppgift Konvertera Nödvändiga komponenter från flatfil till XML Flatfilsschema XML-fil XML-schema Mappning flatfil-XML MBl
Schematisk bild Flatfils- schema XML- schema Används av Används av Beskrivs av Beskrivs av Flatfil XML-fil Input Mapper (översättare) Output I uppgiften kommer ni även att göra samma sak fast från höger till vänster, dvs från XML till flatfil MBl
Steg: Skapa ett nytt projekt I utforskaren Skapa en ny mapp för projektet (Ovning42) I Visual Studio 2005 MBl
Steg 2: Skapa en flatfil Eller kopiera texten nedan och klistra in i en ny fil Döp den till glassar.csv Csv står för comma-separated values Värdena är alltså separerade med komma (,) Spara i mappen du nyss skapade (Ovning42) Magnum mandel, 20, 234, 1024 Nogger, 15, 25, 1025 Wich, 25, 29, 1026 Twister, 10, 456, 1027 MBl
Så här MBl
Skapa ett flatfilsschema Välj: Flat File Schema Wizard så får man hjälp att skapa schemat MBl
Flat File Schema Wizard… MBl
…Wizard of Oz… MBl
…Wizard of Gore… Dags att bestämma vad som separerar elementen (glassarna) från varandra I detta fall nyrad MBl
Definiera vad som är ett element Eftersom filen innehåller flera olika element, tar vi den första Vi är bara intresserade av strukturen MBl
Klar med första nivån MBl
Dags att definiera elementens struktur MBl
Välj ’,’ som separator MBl
Definiera delarna av elementen Döp delarna till vettiga namn Bestäm vilken typ de är av Klar MBl
Klar med flatfilsschemat MBl
Döp elementen till något vettigare… MBl
…som Glass till exempel MBl
Nu har vi ett XML-schema MBl
Schemat har följande struktur Glassar Glass Namn Pris Antal i lager Produktnummer Plus detaljer om format, avgränsare och lite onödigt trams därtill MBl
Nästa steg: Skapa en XML-fil Vi väljer ett lite annat format för att mappningen ska bli lite mer spännande <Products> <Icecream> <Name>Piggelin</Name> <ItemNo>1030</ItemNo> <Price>9</Price> <ItemCount>250</ItemCount> </Icecream> <Name>GB Sandwich</Name> <ItemNo>1031</ItemNo> <Price>12</Price> <ItemCount>22</ItemCount> </Products> MBl
Spara filen I samma mapp som du tidigare skapade din flatfil MBl
Add new generated item->schema MBl
Välj XML-filen du nyss skapade MBl
Nästan klara med XML-schemat MBl
Måste fixa typerna bara MBl
Upprepa för de två andra heltalsfälten Dessa tre ska alla vara xs:int MBl
Schemana klara, dags för mappning Add new -> Map Files -> Map MBl
Välj input-schema MBl
Input-schema klart MBl
Upprepa för output-schema MBl
Output-schema klart MBl
Dags att göra själva mappningen Dra kopplingar från input-schemat till output-schemat Koppla ihop rätt fält i input med rätt fält i output MBl
Så här MBl
Dags att testa mappningen Generera ett testfall ur input-schemat MBl
Öppna den genererade filen CTRL-klicka på denna MBl
Kopiera den från där den hamnar… MBl
…till Ovning42-mappen MBl
Välj input-fil MBl
Dags att testa MBl
Output-filen bör följa output-schemat CTRL-klicka på denna MBl
Mappningen lite schematiskt (no pun intended) MBl
Klar! I denna övning har ni lärt er Skapa flatfilsscheman Skapa XML-scheman Skapa mappning Testa mappning Allt detta kommer ni att ha nytta av i Laboration 4 MBl