XML+ANT+CVS+DIARY. XML: Exempel. XML: Syntax (1) Genomgång av några av de verktyg som används på kursen. <?xml version="1.0" encoding="iso "?

Relevanta dokument
En snabb titt på XML LEKTION 6

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Konstruktion av datorspråk

Strukturering med XML och DTD

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

Tfn Telephone Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster

Hantera informationspaket i system för bevarande

Introduktion till git

Vad är XML XML. Exempel - SMIL. Exempel - XHTML. extensible Markup Language

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

kommando -fl argument

Kom igång med Topocad ArcGIS

XML. Extensible Markup Language

Handbok Cervisia. Bernd Gehrmann Carlos Woelz Översättare: Stefan Asserhäll

Del 1: Skapa konto i Exchange

XML. Dagens föreläsning. Vad är XML extencible Markup Language. Exempel - XHTML

Dagens föreläsning. Vad är XML. Exempel - XHTML. extencible Markup Language

Översättningsminnen laboration

Skapa spellista i play.lnu.se Gör en samling med filmer som hör ihop

Har funnits nästan lika länge som datorerna. Manuell process, svarta tavlan Verktygsstöd kom tidigt redan i början på


prog: prog.c gcc -g -Wall prog.c /usr/local/bib/c/58an/modules/modul.o -o prog

E-posthantering med Novell Groupwise WebAccess

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Programmering i C++ Kompilering från kommandoraden

DOTNETNUKE SKOLNING Skapat: den 20 november 2012

Så här skriver du ditt första program i C++

Skapa din egen MediaWiki

Lathund ringstromsskog.se

A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices

Post- och telestyrelsens författningssamling

Lathund - Redaktörer

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

Utbildning 1 Magento Webshop

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Policy för öppen källkod RIV Tekniska Anvisningar

Installationsguide Unifaun Transport

ALEPH ver. 18 ALEPH Digital Asset Module (ADAM)

Nya webbservern Dvwebb.mah.se

Referenshantering med Zotero Introduktion

Lathund för studenter

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Logga in på din hemsideadministration genom dina inloggningsuppgifter du fått.

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

Blankettmallar för konstruktionsritningar

Dok nr OSF/AV-15:003, ver E Inloggning till Treserva via extern dator

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Objektorienterad Programmering (TDDC77)

Handbok. Procapita Vård och Omsorg Drifthandledning Gallring ver 9.2w

Kapitel 12. Mer om program Att rapportera buggar och problem make

Programvara på Nada. Johan Berglund Systemgruppen, Nada

Lathund för övningen: Skapa film med Windows Movie Maker och publicera på YouTube

Arbetsuppgift 1: På virtuell maskin med Ubuntuserver, skapa katalog och skapa Dockerfile. Skapa ny katalog i din hemmakatalog, med namnet webbserver.

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1

Inloggning till Treserva via extern dator

SORSELE KOMMUN. Handbok OEW. 28 sept 2012 Mari-Anne Englund Barbro Olofsson. Sorsele kommun Version , rev (19)

ALEPH ver. 16 Introduktion

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

DP7 Kompletterande information

USB styrt DMX gränssnitt

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Handbok Kgeografi. Anne-Marie Mahfouf Kushal Das Översättare: Stefan Asserhäll

Beskrivning av xml-produkten FirmagranskningSokord(F34) version 2.00

Versionshantering med Git

Handbok. Procapita Vård och Omsorg Drifthandledning Gallring ver

UNIX verktyg. Användbara kommandon Fil och informationssökning Tags Versionshanteringssystem

B INSTRUKTION FÖR ELEKTRONISK KURSUTVÄRDERING I GOOGLE MED AUTOMATISK SAMMANSTÄLLNING

Sjukhusbiblioteket i Karlstad, september 2012, Modifierad av Linköpings universitetsbibliotek tisdag den 11 december 2018

Arg-administratörens guide till Umbraco v 1.2.1

Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Guide för behörighetssystemet i Matilda

Uppgift 18 Eget programval

LUVIT Utbildningsplanering Manual

Hantering av hyperlänkar

ADMINISTRATÖRSMANUAL

REDIGERA PLYMEDIA-TEXTER med Subtitle Workshop 2.5.1

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

Installationsguide för mysql och OLA Server/OLA Klient

Objektorienterad programmering i Java I

AssiML. Användarbeskrivning

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Roller i Liferay och Axiell Arena

XML och C#.NET Att hantera XML-dokument

Att använda laget.se

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

Kom igång med Topocad FDO

Stompunktsmanual Trafikverket

Guide för pdf-formulär

Transkript:

XML+ANT+CVS+DIARY Genomgång av några av de verktyg som används på kursen 1IT110 XML: Exempel <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE GROUPDIARY SYSTEM "groupdiary.dtd"> <! - Dagbok för grupp X. --> <GROUPDIARY GROUPNAME="GruppX"> <DIARY NAME="Jimmy"> <DATE YEAR="2003" MONTH="11" DAY="23"> <ENTRY DUR_MINUTES="20">Testade lite.</entry> </DATE> </DIARY> <DIARY NAME="Arvid"/> </GROUPDIARY> Informationsteknologi #2 XML: Syntax (1) Överst i dokumentet måste en definition som talar om vilken version av XML-språket som avses finnas samt vilken teckenkodning som används: <?xml version="1.0" encoding="iso-8859-1"?> Om man vill använda sig av en DTD (Document Type Definition) så måste denna anges. Antingen direkt i XML-dokumentet, eller som i exemplet nedan, som en separat fil: <!DOCTYPE GROUPDIARY SYSTEM "groupdiary.dtd"> Kommentarer ser ut som i HTML: <! - Dagbok för grupp X. --> Informationsteknologi #3 1

XML: Syntax (2) Till skillnad mot HTML så är XML alltid ett välbalanserat träd. Detta innebär att en tag alltid måste ha en motsvarande slut-tag: <ENTRY DUR_MINUTES="20">Testade lite.</entry> Om man vill ha en tag utan något innehåll kan man dock inkludera sluttaggen i taggen: <DIARY NAME="Arvid"/> Varje tag kan ha godtyckligt många attribut, men varje attribut kan dock endast förekomma en gång. Om man använder sig av en DTD så kan man där ange vilka attribut som måste finnas med och vilka som är valfria. <DATE YEAR="2003" MONTH="11" DAY="23"> Informationsteknologi #4 XML: Syntax (3) XML är enligt definitionen case-sensitive, vilket innebär att de båda exemplen nedan ej är ekvivalenta: Exempel 1: <ENTRY DUR_MINUTES="20">Testade lite.</entry> Exempel 2: <entry dur_minutes="20">testade lite.</entry> Vissa (dåliga) XML-parsers ignorerar dock detta och låter exempel 1 vara detsamma som exempel 2. Detta är fel! Informationsteknologi #5 XML: DTD (1) DTD:n beskriver hur dokumentet kan byggas upp med hjälp av ett antal grammatiska regler. Exempel på en DTD: <!ELEMENT GROUPDIARY (DIARY)*> <!ATTLIST GROUPDIARY GROUPNAME CDATA #REQUIRED> <!ELEMENT DIARY (DATE)*> <!ATTLIST DIARY NAME CDATA #REQUIRED> <!ELEMENT DATE (ENTRY)+> <!ATTLIST DATE YEAR CDATA #IMPLIED MONTH CDATA #IMPLIED DAY CDATA #REQUIRED> <!ELEMENT ENTRY (#PCDATA)> <!ATTLIST ENTRY EID CDATA #REQUIRED DUR_HOURS CDATA #REQUIRED DUR_MINUTES CDATA #REQUIRED> Informationsteknologi #6 2

XML: DTD (2) Ett XML-dokument har alltid exakt ett rotelement, som i detta fall måste vara av typen GROUPDIARY. En GROUPDIARY kan i sin tur innehålla valfritt antal (0, 1 eller flera) DIARY element: <!ELEMENT GROUPDIARY (DIARY)*> GROUPDIARY kräver också att attributet GROUPNAME är satt: <!ATTLIST GROUPDIARY GROUPNAME CDATA #REQUIRED> Vill man istället att gruppnamnet ska vara frivilligt så kunde det stått: <!ATTLIST GROUPDIARY GROUPNAME CDATA #IMPLIED> Informationsteknologi #7 XML: På kursen På kursen använder vi oss av XML genom build-verktyget Ant, dagbokens filformat och ett kommunikationsprotokoll mellan olika instanser av klientprogrammen. Uppgifterna kommer dock inte kräva att man kan skriva en DTD eller använda en XMLparser, bara att man något så när är medveten om den underliggande tekniken. Informationsteknologi #8 Ant Apache Ant is a Java-based build tool. In theory, it is kind of like Make, but without Make's wrinkles XML-baserat Plattformsoberoende Lätt att lära sig Pluginarkitektur lätt att lägga till egen eller andras funktionalitet för specifika behov Informationsteknologi #9 3

Ant: Exempel på en regel Exempel på hur en regel i Ant kan se ut: <! - Build-regel --> <target name="build" depends="init"> <! - Kompilerar alla.java i ${src} till ${build} --> <javac debug="true" debuglevel="lines,vars,source" srcdir="${src}" destdir="${build}" deprecation="on"> <classpath refid="compile.path"/> </javac> <! - Kopierar alla.java i ${src} till ${build} --> <copy todir="${build}"> <fileset dir="${src}"> <exclude name="**/*.java"/> </fileset> </copy> </target> Informationsteknologi #10 Ant: På kursen På kursen krävs inga djupare kunskaper i hur man skriver regler för ant. Den build.xml som följer med i kodpaketet kommer att fungera för de allra flesta behov. Vill man lära sig mer om hur ant fungerar rekomenderas dokumentationen på http://ant.apache.org/, samt att man läser och förstår vad vår build.xml gör. Informationsteknologi #11 CVS - Översikt CVS är kanske det absolut vanligaste systemet för att versionshantera källkod och de facto standard inom open source utveckling. Varje grupp får ett eget CVS Repository tilldelat, som bara gruppmedlemmarna samt kursens lärare har tillgång till. För att kunna genomföra kursen krävs bara att man kan använda de vanligaste CVS-kommandona. Informationsteknologi #12 4

CVS: Komma igång (1) Sätta CVSROOT Miljövariabeln CVSROOT måste vara satt för att kunna hämta ut projekt från CVS. Alternativt kan man ange den som ett argument på kommandoraden till cvs med flaggan -d. Exemplen nedan förutsätter att miljövariabeln inte är satt. CVSROOT för kursen kommer vara: :pserver:[unixid]@cvs.srv.it.uu.se:/devgui[gruppbokstav] Exempel: :pserver:jimmyf@cvs.srv.it.uu.se:/devguix Informationsteknologi #13 CVS: Komma igång (2) Logga in Görs vanligen bara en gång per användare och dator: cvs d [CVSROOT] login Hämta ut projektet Skapar den lokala arbetskatalogen för projektet. Detta behöver normalt sett bara göras en gång: cvs d [CVSROOT} co blazon Informationsteknologi #14 CVS Vanliga kommandon (1) Hämta uppdateringar Hämtar eventuella uppdateringar från repositoryt: cvs up Observera att kommandot arbetar rekursivt nedåt i katalogstrukturen. Om man bara vill uppdatera en specifik fil eller katalog kan man göra: cvs up [fillista] Skicka in ändringar Skickar in samtliga ändringar rekursivt: cvs ci -m [Information om ändringen] Eller en enskild fil eller katalog: cvs ci [fillista] m [text] Informationsteknologi #15 5

CVS Vanliga kommandon (2) Lägga till en fil För att lägga till en eller flera filer till repositoryt: cvs add [fillista] Observera att om det är en binär fil (exempelvis en bild) som ska läggas till måste man ange flaggan kb: cvs add -kb quit.gif Ta bort en fil För att ta bort en eller flera filer från repositoryt: cvs rm [fillista] CVS kommer att klaga om filen finns kvar när man försöker ta bort den från repositoryt. Därför måste man först ta bort filen från arbetskatalogen innan man kan ta bort den från repositoryt. Informationsteknologi #16 Dagboken: Översikt Dagboken är en viktig del av examinationen på kursen och ska redovisa den tid man lägger ner totalt sett. Även inläsning och gruppmöten ska finnas med. Förslagsvis skapar man en ny dagbokspost varje gång ny funktionalitet har lagts till, en bugg har fixats eller en ny aktivitet startar. En väl underhållen dagbok hjälper dessutom de övriga gruppmedlemmarna att få en helhetsbild av gruppens arbete. Informationsteknologi #17 Dagboken: Filer Dagboken ligger som allt annat i CVS och återfinns under katalogen diary/. Filen diary.xml innehåller dagboksdata för samtliga medlemmar i gruppen Filen groupdiary.dtd är DTD:n för dagbokens XML-format. Informationsteknologi #18 6

Dagboken: Initiering Det som måste göras är att filen diary.xml under diary/ måste editeras så att gruppnamnet stämmer. Den utcheckade dagboken innehåller en rad som ser ut så här: <GROUPDIARY GROUPNAME="GruppX"> Byt ut X i GruppX mot den bokstav er grupp har fått. Informationsteknologi #19 Dagboken: Klientprogrammet (1) För att underlätta finns ett klientprogram för dagboken. Detta startas med ant diary I början finns inga användare. Lägg till din egen användare med knappen add user och skriv in ditt för- och efternamn. Unix-id, förkortningar eller olika former av alias godtas ej. Dagboksposterna listas i vänstra delen av fönstret. Man kan redigera en post genom att dubbelklicka på den och skapa en ny med knappen add entry. Informationsteknologi #20 Dagboken: Klientprogrammet (2) När man är klar med sina ändringar så gör man save & exit från menyn. Om man ångrar sina ändringar kan man göra revert från menyn. Då återgår man till senast sparade version. Glöm inte att skicka in ändringarna i CVS! För närvarande kan man inte ta bort poster eller användare med klientprogrammet. Detta kan man dock göra genom att manuellt redigera XML-filen. Informationsteknologi #21 7