DOM Document Object Model:

Størrelse: px
Starte visningen fra side:

Download "DOM Document Object Model:"

Transkript

1 DOM Document Object Model:...1 Typer af noder i træet:...3 Reading:...4 document:...6 element:...7 attributter:...12 parser fejl:...13 XPATH:...13 Stier i XPATH:...13 Prædikater:...14 Operatorer:...15 Funktioner i XPATH:...15 XPATH test program:...17 writing:...fejl! Bogmærke er ikke defineret. Rekursive funktioner:...fejl! Bogmærke er ikke defineret. Rekursiv funktion der også viser attributter:...fejl! Bogmærke er ikke defineret. Visning af resultater i en browser:...fejl! Bogmærke er ikke defineret. Gennemløb af et XML dokument med løkker:...fejl! Bogmærke er ikke defineret. Skriv XML filer:...fejl! Bogmærke er ikke defineret. DOM metoder også i HTML:...Fejl! Bogmærke er ikke defineret. Et eksempel på Java programmering af Xerces DOM parseren:... Fejl! Bogmærke er ikke defineret. Xerces: En simpel parser i Java:...Fejl! Bogmærke er ikke defineret. XPATH eksempel fra.net:...fejl! Bogmærke er ikke defineret. Eksempel på DOM i.net: XmlDocument:...Fejl! Bogmærke er ikke defineret. DOM Document Object Model: DOM er en dokument standard som er udarbejdet af W3C Konsortiet. Standard dokumentet kan downloades fra DOM er udgivet på tre forskellige niveauer eller levels men Level 2 er fortsat den gældende standard (Level 2 Document Object Model Core). Der er meget materiale at hende på denne side om DOM modellen! Det er meget anbefalelsesværdigt at downloade specifikationen som definerer elementerne i DOM modellen! W3C har defineret hvordan Java script eller ECMA script skal implementere DOM modellen. En sådan language binding eksisterer også for Java. Men ikke for andre programmeringssprog som udtryk for den særlige forbindelse mellem Java og XML! DOM specificerer at et DOM dokument skal have præcist een rod og være velformet. Et DOM dokument kan være f. eks. et HTML eller XML dokument. DOM er beskrevet i et abstrakt sprog IDL Interface Definition Language, et sprog som abstrakt definerer interfaces (objekter, metoder).

2 DOM er uafhængigt af operativ system og programmerings sprog. Helt konkret er W3C DOM specificeret i OMGIDL nemlig den IDL som er defineret af Object Management Group (OMG) som også definerer CORBA standarden. DOM er grundlæggende det samme dokument format - uanset om det implementeres i Java, C, Perl eller Javascript! Heri ligger den store fordel i standarden. DOM kører stort set ens uanset om styre systemet er Windows, Linux, Mac eller Unix. DOM definerer grundlæggende funktioner (metoder) som kan læse (parse) dokumenter, søge i disse dokumenter og skrive eller redigere dokumenter. Vi vil i det følgende først se på hvordan DOM kan læse dokumenter, siden se på hvordan man med DOM metoder kan skrive dokumenter. Et set af metoder kaldes et API et Application Programming Interface. DOM er altså basalt en sprog- og platforms-uafhængig API. Med denne API kan man navigere rundt i et dokument og manipulere med et dokument. Et <script> i en HTML fil (eller XML fil) er en applikation af DOM. Forudsætningen for at dette kan fungere er at operativ systemet har en parser som implementerer W3C standarden DOM. I det følgende vil vi se eksempler med JavaScript eller ECMA Script (en script standard fra European Computer Manufacturers Association) i MS Internet Explorer. Internet Explorer har en indbygget parser der implementerer DOM. Hvis man har installeret Internet Explorer har man altså allerede installeret en XML parser! Den XML parser som IE6 anvender er msxml3.dll altså Microsoft parseren i version 3. IE anvender altså ikke den sidste version 4 som kan downloades fra Der findes et utal af forskellige implementeringer af DOM i forskellige sprog og til forskellige styresystemer. Grundlæggende kræver DOM at et dokument er et træ med (kun) een rod. En træ struktur er en graf af en bestemt type. En graf er blot et sæt af knuder eller noder som er forbundne. Et træ i DOM er en graf med netop een rod documentelement - og sub noder sådan at et element eller et objekt altid har kun een parent eller super-objekt. Dette kan illustreres på følgende måde en såkaldt struktur model: 1. dataliste a. person i. fornavn b. person i. fornavn c. person i. fornavn Elementet fornavn har een parent eller forældre nemlig person. Alle personer har een parent nemlig dataliste. dataliste har ingen parent (dataliste er nemlig roden). person har kun een child

3 nemlig fornavn. dataliste har 3 børn og 3 børnebørn! De 3 personer er i DOM siblings eller søskende! DOM metoder er grundlæggende tree walking metoder som f.eks. at finde alle børn eller finde parent eller finde næste søskende. DOM opbygger to sæt af linkede lister: Den ene liste linker parent og child elementer. Den anden liste linker den ene søskende eller sibling til den næste! Det er derfor altid effektivt hurtigt i DOM at gå mellem parent og child og gå til næste søskende! Men det er ikke altid effektivt eller hurtigt at gå til forrige søskende fordi systemet så skal begynde forfra i dokumentet og søge! Et DOM dokument skal mindst indeholde eet rod-element (evt med et subtræ under sig) og kan uden for denne rod! - indeholde en eller flere kommentarer, processing instructions og/eller maksimalt een doctype. Dette er altså ikke noget gyldigt XML dokument: <?xml version= 1.0?> Et XML dokument skal indeholde et rod element eller en container! I en vis forstand er et DOM dokument ikke et rent træ fordi visse objekter kan anbringes uden for roden. DOM er en objekt model som har en super klasse node og objekter som document, nodelist, namednodemap, processinginstruction osv som arver fra node. Typen node er alles super klasse. Metoderne i node arves altså videre i alle sub klasserne. Alt i et dokument er en node. Træet består af noder. Et element er en node. En attribut er en node. En namespace erklæring er også en node som f. eks. i dette eksempel: <data xmlns= uri:data >Dette er data.</data> xmlns= uri:data er ikke en attribut (!) til elementet data men en selvstændig namespace node som begrebsmæssigt nærmest står oven over elementet data fordi namespacet jo dækker hele subtræet data! Typer af noder i træet: Der findes to helt forskellige slags noder: 2. strukturelle noder som documenttype, processinginstruction osv 3. indholds noder som element, document, attribut, cdata osv

4 Derudover er der defineret 12 typer af noder med tilhørende ID numre af W3C konsortiet: Prototype Object Node The Node class has the following constants: Node.ELEMENT_NODE This constant is of type Number and its value is 1. Node.ATTRIBUTE_NODE This constant is of type Number and its value is 2. Node.TEXT_NODE This constant is of type Number and its value is 3. Node.CDATA_SECTION_NODE This constant is of type Number and its value is 4. Node.ENTITY_REFERENCE_NODE This constant is of type Number and its value is 5. Node.ENTITY_NODE This constant is of type Number and its value is 6. Node.PROCESSING_INSTRUCTION_NODE This constant is of type Number and its value is 7. Node.COMMENT_NODE This constant is of type Number and its value is 8. Node.DOCUMENT_NODE This constant is of type Number and its value is 9. Node.DOCUMENT_TYPE_NODE This constant is of type Number and its value is 10. Node.DOCUMENT_FRAGMENT_NODE This constant is of type Number and its value is 11. Node.NOTATION_NODE This constant is of type Number and its value is 12. Reading: Note: En ulempe ved at anvende DOM modellen er at hele dokumentet skal indlæses i maskinens hukommelse/ram. Hvis der er tale om store XML dokumenter kan dette medføre nogen forsinkelse. Selv dokumenter på cirka 5 Mega Bytes kan give mærkbare forsinkelser. Vi skal siden i afsnittet om SAX se på hvordan man kan måle performance: d.v.s. hvor lang tid det tager at indlæse et XML dokument med DOM metoder og med SAX metoder! Maskinen opbygger en intern DOM struktur i hukommelsen (RAM) som gør at man kan springe frit rundt i dokumentet. Denne struktur kan fylde meget mere end selve dokumentet! Dette har sine ulemper. Denne DOM struktur er et såkaldt virtuelt træ som kun eksisterer i hukommelsen. Når jeg f. eks. redigerer i dette virtuelle træ redigerer jeg altså kun i adresser i hukommelsen eller RAM! Det jeg gør bliver ikke uden videre gemt i en fil!

5 Vi skal siden se at en ren parser som en SAX parser kan arbejde meget hurtigere end DOM. SAX er velegnet når man skal søge og finde nogle få værdier i et stort XML dokument. Ulempen ved SAX er at man ikke kan springe frit rundt i dokumentet og ikke kan modificere dokumentet! SAX læser simpelthen filen tegn for tegn forfra og read only! Den grundlæggende parser i.net fra Microsoft er /stort set) en sådan SAX parser (XmlTextReader). I det følgende skal vi se på hvordan man kan læse eller parse et XML dokument. Vi vil her i første omgang - anvende en såkaldt data island der ser sådan ud: <xml id="xml_document"> <?xml version="1.0" encoding="iso "?> <!-- data islands tolererer ikke doctypes! --> <bil_lager firma='cbilerx.aps' xmlns="uri:cbilerx.1.1" > <?instruktion Dette er en PI processing instruction?> <!-- bil_lager lister alle biler paa lageret --> <bil km="77567"> <id>b12345</id> <pris xmlns="uri:cbilerx.1.1" >12456</pris> </bil> <bil km="12447"> <id>b54321</id> <pris xmlns="uri:cbilerx.1.1" >13456</pris> </bil> </bil_lager> </xml> <script> function parse_dom(){ //begge er OK: //var doc=document.all("xml_document").xmldocument; var doc=xml_document.xmldocument; alert(doc.xml); parse_dom(); </script> I første omgang anvender vi DOM objektet document. En data island vil sige at XML dokumentet indlægges direkte i HTML dokumentet. Dette er meget anvendeligt hvis XML data sendes fra en server til en klient. IE kan direkte takle data islands. I andre browsere skal anvendes andre metoder som vi skal se.

6 document: I eksemplet kaldes et script som viser selve dokumentet: I denne omgang vi ser kun på DOM reading - de fleste metoder i document er write metoder! kan vi anvende disse metoder i document: 1. getelementsbytagname Vi kan skrive dette script: <script> function parse_dom(){ //begge er OK: //var doc=document.all("xml_document").xmldocument; var doc=xml_document.xmldocument; alert(doc.xml); var ids=doc.getelementsbytagname("id"); var s=""; for(i=0;i<ids.length;i++) { s+="\n"+ids(i).xml; alert(s); var priser=doc.getelementsbytagname("pris"); var str=""; for(i=0;i<priser.length;i++) { str+="\n"+priser(i).xml; alert(str); parse_dom();

7 </script> Resultatet er bl. a. disse bokse som returnerer to XML fragmenter: Vores DOM metoder returnerer alle elementer af typerne pris og id. element: De fleste metoder og egenskaber findes i objektet element. I vores eksempel er pris og id eksempler på element noder. Vi vil nu implementere en række metoder og egenskaber i objektet element: tagname getattribute getattributenode getattributenodens getattributens getelementsbytagname getelementsbytagnamens hasattributes hasattributens nodename nodevalue type parentnode childnodes firstchild lastchild

8 previoussibling nextsibling attributes namespaceuri prefix localname haschildnodes Når vores script afvikles får vi dette billede hvor en række af DOM metoderne er anvendt: Ved hjælp af DOM kan vi finde alle elementer af en vis type her typen bil og arbejde med disse objekter. Vi kan finde deres sub elementer, et evt namespace for elementet bil, objektets parent osv.

9 Vi kan teste om objektet har attributter eller sub elementer under sig. Det ses også at selve teksten i XML er en selvstændig specifik tekst node som er en child af det nærmeste element. I eksemplet er b54321 en anonym tekst node hvis parent er et almindeligt navngivet element nemlig id. Selve id elementet har altså INGEN nodevalue dets firstchild (tekst noden) har derimod. Denne firstchild teksten tilhører også en nodetype nemlig 3. Type 1 er et element og type 2 er en attribut. Metoderne childnodes og attributes returnerer en collection eller liste over en række node objekter. Derfor er det nødvendigt at anvende en løkke for at gennemgå disse objekter. Vores script er skrevet således: <script> function parse_dom(){ //begge er OK: //var doc=document.all("xml_document").xmldocument; var doc=xml_document.xmldocument; alert(doc.xml); //alle elementer bil i dokumentet: var data=doc.getelementsbytagname("bil"); //alle attributter i dokumentet: //var data=doc.getelementsbytagname("@*"); //giver selve roden - kun eet element bil_lager! //var data=doc.getelementsbytagname("bil_lager"); //giver alle elementer: //var data=doc.getelementsbytagname("*"); var s=""; for(i=0;i<data.length;i++) { s+="\n tagname: "+data(i).tagname; s+="\n haschildnodes: "+data(i).haschildnodes; s+="\n getattribute: "+data(i).getattribute('km'); s+="\n nodetype: "+data(i).nodetype; s+="\n firstchild.tagname: "+data(i).firstchild.tagname; s+="\n firstchild.firstchild.nodevalue: "+data(i).firstchild.firstchild.nodevalue; s+="\n parentnode.tagname: "+data(i).parentnode.tagname; s+="\n namespaceuri: "+data(i).namespaceuri; var data1=data(i).getelementsbytagname('*'); for(j=0;j<data1.length;j++) { s+="\n tagname: "+data1(j).tagname; s+="\n haschildnodes: "+data1(j).haschildnodes; s+="\n nodetype: "+data1(j).nodetype; s+="\n firstchild.tagname: "+data1(j).firstchild.tagname; s+="\n firstchild.nodetype: "+data1(j).firstchild.nodetype; s+="\n firstchild.nodevalue: "+data1(j).firstchild.nodevalue;

10 s+="\n s+="\n parentnode.tagname: "+data1(j).parentnode.tagname; namespaceuri: "+data1(j).namespaceuri; alert(s); parse_dom(); </script> Selv om man ikke er verdensmester i scripting eller JavaScript kan man se at der er anvendt 2 løkker for at finde alle elementer bil og alle sub elementer under hver bil. På denne måde kan ethvert XML dokument parses og analyseres og man kan finde bestemte data! var data1=data(i).getelementsbytagname('*'); Denne sætning går ud fra en bestemt kontekst node nemlig den aktuelle bil! Derfor virker metoden på denne kontekst node ikke på hele dokumentet! En vigtig del af DOM er at man hele tiden arbejder ud fra en kontekst node som kan være hele dokumentet (som også er en node fordi alt er noder i XML!) eller som kan være et sub træ! Hvis vi ser på dokumentet som et træ kan vi se at dokumentet her har 3 børn under root:

11 De tre børn er xml erklæringen, kommentar noden og documentelement nemlig noden bil_lager! Neden under objektet bil_lager finder vi 4 børn: instruktions noden (en processing instruction), en kommentar node og 2 bil noder! Hver bil har så igen noder under sig - som vi så tidligere! Det ses at alt er noder eller node-objekter i DOM! Vores script til at vise dette hierarki er: var data=doc.childnodes; var s=""; for(i=0;i<data.length;i++) { s+="\n\n name: "+data(i).nodename; s+="\n nodetype: "+data(i).nodetype; s+="\n nodevalue: "+data(i).nodevalue; for(j=0;j<data(i).childnodes.length;j++) { s+="\n\n name: "+data(i).childnodes(j).nodename; s+="\n nodetype: "+data(i).childnodes(j).nodetype; s+="\n nodevalue: "+data(i).childnodes(j).nodevalue;

12 alert(s); Hele dokumentet som alle DOM dokumenter - er opbygget af childnodes og relationer parent child. Den træ struktur som DOM opbygger i hukommelsen rummer netop en samling af links eller såkaldt linkede lister parent-child. En linked liste har en pointer (en pegepind) til next og previous i en liste. Dette ses tydeligt i en linked liste af siblings eller søskende. For hvert element kan man springe direkte til den næste søskende (og til den forrige)! attributter: Et elements attributter findes ikke ved childnodes metoden. Et elements attributter er ikke børn af elementet men data som beskriver elementet og er en del af elementet. Man kan også forestille sig en attribut i et element som en supernode som ligger oven over elementet og gælder for hele sub træet ligesom en namespace node gælder for hele sub træet! Bemærk også at attributter kan skrives i en vilkårlig rækkefølge modsat elementerne normalt i et sub træ! Sættet af et elements attributter kaldes en Named Node Map og er en hash tabel som består af par af name og value: f.eks. opdateret= Name eller key er her opdateret og value er ! Attributter er noder, men ikke elementer! I vores eksempel har elementet bil_lager f.eks. 2 attributter.

13 parser fejl: OBS: Hvis der er formelle fejl i XML dokumentet (ikke vel formet) i en data island kommer der INGEN fejl melding! Metoderne returnerer blot en tom streng! Prøv fx at ændre et id til et idd! XPATH: Stier i XPATH: Når vi navigerer rundt i et DOM dokument bruges et simpelt og ikke XML baseret sprog XPATH. XPATH specifikationen kan også hentes på adressen XPATH minder om de stier som bruges om fil og mappe systemet på en computer! Hvis vi forestiller os denne sti på computeren: c:\windows\notepad.exe

14 har vi en klar fornemmelse af at vi taler om objektet notepad.exe som ligger i en mappe (en container) der hedder windows som igen ligger på C drevet! Stier i XPATH fungerer på samme måde bortset fra anvendelsen af nogle finesser som prædikater - som vi skal se! Nogle vil måske se at XPATH minder om SQL: I SQL kan man anvende et udtryk som: select * from tabel where fornavn= erik! Her sættes først en kontekst nemlig alle felter i tabellen tabel og derefter undersøges det punkt for punkt hvilke poster der tilfredsstiller kravet: at fornavn skal være erik! XPATH arbejder på den måde hele tiden med et nodesæt eller set og med om en betingelse er opfyldt eller ikke opfyldt sand eller falsk!. (et punktum) betyder det nuværende objekt lige som på computeren hvor punktum betyder den nuværende mappe.. (to punktummer) betyder parent eller gå et niveau op i træet! XPATH stier anvender overalt i XML ikke mindst i stylesheets eller typografi ark i XSLT. Vi skal se mange eksempler på XPATH stier i dette kursus så her kommer en kort sammenfatning: En sti kan være relativ eller absolut. En relativ sti er f. eks.: person/fornavn Denne sti består af 2 trin trin bliver altid adskilt af /. XPATH finder ud fra den givne kontekst! alle de sub elementer eller børn under den aktuelle kontekst node! som hedder person og i dette sæt går XPATH så videre og finder alle de sub elementer som hedder fornavn! En sti som denne er relativ fordi den afhænger af konteksten! Måske er der slet ingen børn der hedder person! Dette svarer fuldstændigt til at jeg f. eks. står i mappen Windows og vil skifte til en under mappe ved navn olenyborg men denne mappe eksisterer måske slet ikke som undermappe under kontekst mappen! XPATH tager trin for trin som forklaret. Et eksempel på en absolut sti ville være: /telefonliste/person/fornavn En absolut sti starter altid med / som betyder roden af dokumentet. Derefter følger en relativ sti. En absolut sti er altså uafhængig af enhver kontekst! Prædikater: Et prædikat er et yderligere søge kriterium f. eks. kan vi søge efter en bestemt person:

15 /telefonliste/person/fornavn[.= Marie-Louise ] Her gennemløbes samtlige personer og deres sub elementer fornavn indtil systemet finder (eller ikke finder) en person med fornavnet Marie-Louise!. (punktum) bruges altid som det nuværende objekts tekst(node). Hvis man vil finde det første eller sidste eller 7. objekt kan man bruge en index operator: /telefonliste/person[1] /telefonliste/person[position()=last()] /telefonliste/person[7] /telefonliste/person[last() - 1] Operatorer: I øvrigt anvendes en række operatorer i XPATH til at definere en bestemt sti til et objekt: // bruges til at finde en node uanset hvor den findes i træet. F. eks. stien //* betyder find alle elementer (og kun elementer!) - idet * bruges om alle uanset hvad de hedder! //fornavn finder alle fornavne uanset hvor de findes. //@* betyder: Find alle attributter bruges om en attribut. //@opdateret finder alle attributter i dokumentet som hedder opdateret. Funktioner i XPATH: Der findes en række funktioner i XPATH og vi vil bruge dem adskillige gange igennem kurset! Eksempler på funktioner som er forud definerede er: 1. position() 2. last() 3. first() 4. count() 5. id() 6. local-name() 7. name() 8. namespace-uri() 9. concat() 10. contains() 11. starts-with() 12. string-length() 13. substring() 14. substring-before()

16 15. substring-after() 16. translate() 17. number() 18. sum() 19. round() De forskellige parsere har så implementeret endnu flere extension eller udvidede funktioner! Vi skal gennem kurset se de fleste af disse funktioner brugt - især i XSLT stylesheets! Som et demo eksempel kan vi se på følgende eksempel der anvender nogle XPATH funktioner: I dette script anvendes ikke en data island. XML dokumentet loades direkte fra en lokal fil på maskinen. Dette sker ved at vi instantierer et objekt DOMDocument.4.0! Derefter kan vi sætte dette objekts egenskaber (properties) og anvende dets metoder. Hvis vi sætter validateonparse til true vil parseren validere dokumentet hvis der er et skema! Hvis vi sætter async til false betyder det at XML dokumentet loades synkront d.v.s. at vi venter til at det er fuldt loadet inden vi går videre! DOMDocument er en Microsofts DOM parser! <body > <div id="resultat" style="margin-bottom:10px;background-color:#dddddd;font-size:12pt;color:black;height:140pt"> </div> </body> <script> load_doc(); function load_doc(){ //nulstil div: resultat.innertext=""; try{ var doc=new ActiveXObject("MSXML2.DOMDocument.4.0"); doc.async=false; doc.load("boghandel.xml"); if(doc.parseerror.errorcode==0){ resultat.innertext=doc.xml; alert("forskellige XPATH eksempler."); //XPATH funktioner eksempler: resultat.innertext=doc.selectsinglenode("//bog/fornavn").xml; alert("doc.selectsinglenode('//bog/fornavn').xml"); resultat.innertext=doc.selectsinglenode("//bog[2]/anmeldelse").xml; alert("doc.selectsinglenode('//bog[2]/anmeldelse').xml"); resultat.innertext=doc.selectsinglenode("//bog/efternavn[.='olsen']/..").xml; alert("doc.selectsinglenode(//bog/efternavn[.='olsen']/..).xml"); resultat.innertext=doc.selectsinglenode("//@*").xml; alert("doc.selectsinglenode('//@*').xml");

17 resultat.innertext=doc.selectsinglenode("/newdataset/*[3]").xml; alert("doc.selectsinglenode('/newdataset/*[3]').xml"); else alert ("Fejl: "+doc.parseerror.reason); catch(e) {alert("fejl: "+e); </script> XPATH test program: Vi kan teste forskellige stier og udtryk i XPATH med et lille script program der ser sådan ud:

18 I programmet viser den øverste division selve XML teksten, den nederste viser denne tekst som HTML. Det viste XPATH eksempel gør følgende: 1. Find alle fornavn elementer hvor de end befinder sig i træet 2. Find det første af dem hvis tekst node er lig med Eydna 3. Gå derefter op til parent for denne node! Koden ser således ud: <body > <form id="f" name="f"> DOM eksempel:<br> <br>indtast stien til XML filen:

19 <br><input type="text" value="..\dom\telefonliste.xml" size="100" id="fil" name="fil" /> <br>indtast en XPATH sti som f. eks. '/*/*': <br><input type="text" value="/child::*" size="100" id="path" name="path" /> <br><input type="button" value="find data!" onclick="load_doc()" /> </form> <div id="resultat" style="margin-bottom:10px;background-color:#dddddd;font-size:12pt;color:black;"> </div> <div id="resultat1" style="background-color:#669966;font-size:12pt;color:black;height:140pt"> </div> </body> <script> function load_doc(){ //nulstil div: resultat.innertext=""; try{ var doc=new ActiveXObject("MSXML2.DOMDocument.4.0"); var doc1=new ActiveXObject("MSXML2.DOMDocument.4.0"); doc1.async=false; doc.async=false; var filsti=document.all("fil").value; doc.load(filsti); if(doc.parseerror.errorcode==0){ var sti=document.all("path").value; //opret et 'xml fragment' med en kunstig root: var xml_fragment=doc.selectsinglenode(sti).xml; doc1.loadxml("<data_fra_xpath>\n"+xml_fragment+"\n</data_fra_xpath>"); resultat.innertext=doc1.xml; //XSLT: //var docxsl=new ActiveXObject("MSXML2.DOMDocument.4.0"); //docxsl.async=true; //docxsl.load ("kun_node_txt1.xsl"); //(transformation her) resultat1.innerhtml=doc1.xml; else alert ("Fejl: "+doc.parseerror.reason); catch(e) {alert("fejl: "+e); </script> Som antydet kan man transformere eller formatere XML dokumentet (dvs. her: XML fragmentet!) med et XSLT typografiark, stylesheet. Det er kommenteret ud her og vi skal siden vende tilbage til hvordan det gøres. Vi kan få vist elementernes tekstnoder (ikke attributternes!) ved simpelthen at kalde innerhtml som vist! innertext er derimod nødvendig når vi ønsker at vise selve XML teksten!

20 Man kan også finde lignende XPATH test programmer på Internettet! Et andet sted i kurset er omtalt at hvis man downloader Xerces parseren fra apache.org får man også et lille Java program der fungerer til test af stier i XPATH.

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version="1.0" encoding="iso-8859-1"?>

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version=1.0 encoding=iso-8859-1?> Namespaces...1 Default namespace:...6 Præfiks:...7 To slags navne i XML:...11 Standard namespaces:...14 RDF Resource Description Framework:...18 Attributter:...19 DTD skemaer og namespaces:...21 Namespaces.

Læs mere

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding: Vi har tidligere set på spørgsmålet om et XML dokuments encoding. Det er generelt altid en god ide at gemme et dokument

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Eksempel på transformation: XML -> RTF dokument:

Eksempel på transformation: XML -> RTF dokument: Eksempel på transformation: XML -> RTF dokument: RTF dokumenter er Rich Text dokumenter der kan formateres med farver og forskellige skrifttyper. I nogle tilfælde kan det være interessant at transformere

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

Servere har ikke kun noget at gøre med et lokalnet eller med Internettet. Ethvert program som fungerer som en lytter er en server!

Servere har ikke kun noget at gøre med et lokalnet eller med Internettet. Ethvert program som fungerer som en lytter er en server! XML og server klient programmer:...1 Hvad er en server?...1 Fordelene ved en XML server:...2 Eksempel: En telefon XML server:...2 XML server der trækker på en database:...7 Direkte adgang til databasens

Læs mere

java -classpath.;xercesimpl.jar;xercessamples.jar;c:\java\java\lib\classes.zip sax.counter -v -s -f -t telefonliste.xml

java -classpath.;xercesimpl.jar;xercessamples.jar;c:\java\java\lib\classes.zip sax.counter -v -s -f -t telefonliste.xml Xerces parseren....1 sax.counter:...1 sax.documenttracer:...2 sax.writer:...3 dom.getelementsbytagname:...4 dom.writer:...4 dom.asbuilder:...5 XMLGrammarBuilder:...6 PSVIParser:...7 Xerces parseren. Vi

Læs mere

Træ struktur: Alle XML dokumenter er grafer og gyldige træ strukturer. Et konkret eksempel herpå kunne være: <data>data.</data>

Træ struktur: Alle XML dokumenter er grafer og gyldige træ strukturer. Et konkret eksempel herpå kunne være: <data>data.</data> XML generelt:...1 XML:...1 Træ struktur:...2 Kinesiske æsker eller russiske dukker:...4 Besøgs eller Visiting algoritmer:...5 XML og HTML:...8 Hvad er en parser?...9 Velformet:...11 Et script program der

Læs mere

Installation af kalibreringsprogrammet. (BDE versionen)

Installation af kalibreringsprogrammet. (BDE versionen) Installation af kalibreringsprogrammet. (BDE versionen) Installationen består egentlig af to (3) dele: 1 del der vedrører selv programmet med tilhørende filer ( det kan opdateres ) 2 en del der vedrører

Læs mere

Umbraco installationsvejledning

Umbraco installationsvejledning på et ScanNet ASP Webhotel Indledning Beskrivelse Denne vejledning vil indeholde installation af CMS systemet Umbraco på et ASP Webhotel. Det dansk grundlagt Content Management System (CMS) Umbraco er

Læs mere

Gem dine dokumenter i BON s Content Management System (CMS)

Gem dine dokumenter i BON s Content Management System (CMS) 24. august 2007 Gem dine dokumenter i BON s Content Management System (CMS) INDHOLDSFORTEGNELSE 1. Indledning... 2 2. Se indholdet i dit Content Management System... 3 3. Tilgå dokumenterne i My Content

Læs mere

Import af rekursivt (parent-child) hierarki i Palo

Import af rekursivt (parent-child) hierarki i Palo Import af rekursivt (parent-child) hierarki i Palo Dette dokument beskriver hvordan et simpelt rekursivt (parent-child) hierarki kan importeres ind i Palo på forskellige måder via SQL og samtidig bibeholde

Læs mere

Guide til Umbraco CMS

Guide til Umbraco CMS web Guide til Umbraco CMS Indhold Indledning 3 Kompatible browsere 3 Log ind i Umbraco 4 Content-delen 5 Indholdstræet 5 Tilføjelse af en side/sektion 7 Sortering af indhold 12 Galleri 14 Mediebibliotek

Læs mere

PHP Quick Teknisk Ordbog

PHP Quick Teknisk Ordbog PHP Quick Teknisk Ordbog Af Daniel Pedersen PHP Quick Teknisk Ordbog 1 Indhold De mest brugte tekniske udtryk benyttet inden for web udvikling. Du vil kunne slå de enkelte ord op og læse om hvad de betyder,

Læs mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML....1 Funktioner:...2 Skrive XML dokumenter med SAX writer:...4 SAX metoder i Visual Basic:...5 error handler:...6 En content handler:...7 At validere et XML dokument med SAX:...13

Læs mere

Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS.

Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS. Denne guide er oprindeligt udgivet på Eksperten.dk XML i ASP Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS. Den forudsætter

Læs mere

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske Det Naturvidenskabelige Fakultet Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske Indholdsfortegnelse Introduktion til Blackboard Content System...3 Øvelse 01 individuel:

Læs mere

Hent filoplysninger fra billeder og filer

Hent filoplysninger fra billeder og filer Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:

Læs mere

Guide: Facebook API. Facebook API til dit data-hjerte

Guide: Facebook API. Facebook API til dit data-hjerte Guide: Facebook API Ønsker du nogle gange, at du kunne få et smugkig i konkurrentens Facebook Insights? Bare lige for at tjekke, hvad de gør godt. Måske kan du endda lære lidt af dem, som inspiration til

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Dokumentering af umbraco artikeleksport:

Dokumentering af umbraco artikeleksport: Dokumentering af umbraco artikeleksport: Lav en artikel side 2-3. Installationsguide side 3-5. Opsættelse af databasen og web.config side 5-8. Umbraco: templates side 8. Umbraco: borger.dk tab side 8.

Læs mere

Delphi og Databaser for begyndere

Delphi og Databaser for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med

Læs mere

Extension udvikling i Mozilla Firefox. Henrik Gemal

Extension udvikling i Mozilla Firefox. Henrik Gemal Extension udvikling i Mozilla Firefox Henrik Gemal Side 1 Hvem er jeg? Web udvikler hos TDC Laver TDC.dk og TDCOnline.dk Laver HTML, CSS, PHP Med i Mozilla projektet i mange år Udviklet et par extensions

Læs mere

Webserverprogrammering

Webserverprogrammering Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

PID2000 Archive Service

PID2000 Archive Service PROLON CONTROL SYSTEMS Herstedvesterstræde 56 DK-2620 Albertslund Danmark Tlf.: (+45) 43620625 Fax: (+45) 43623125 PID2000 Archive Service Bruger vejledning Juni 2002 Denne manual beskriver brugen af softwaren

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Denne guide er oprindeligt udgivet på Eksperten.dk CSS - en gennemgang Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Der er lidt CSS historie

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server

Læs mere

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1 Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1 Oracle Database Express Edition (XE) er Oracles lille gratis database tilsvarende Microsofts SQL Server Express Edition. Oracle Database XE

Læs mere

XML i PHP. Denne artikel gennemgår kort nogle af de mange muligheder for brug af XML i PHP. Det sker ved brug af eksempler. Eksemplerne kræver PHP 5.

XML i PHP. Denne artikel gennemgår kort nogle af de mange muligheder for brug af XML i PHP. Det sker ved brug af eksempler. Eksemplerne kræver PHP 5. Denne guide er oprindeligt udgivet på Eksperten.dk XML i PHP Denne artikel gennemgår kort nogle af de mange muligheder for brug af XML i PHP. Det sker ved brug af eksempler. Eksemplerne kræver PHP 5. Den

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

Læs mere

MSI pakke til distribution af AutoPilot komponenter.

MSI pakke til distribution af AutoPilot komponenter. MSI pakke til distribution af AutoPilot komponenter. Hermed følger en basal dokumentation for installation af AutoPilot msi pakken. Der vil i det følgende blive forklaret brugen af 4 programmer fra Microsoft,

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er, at programmet skal registreres (programmet kan dog bruges i 30 dage, hvis det ikke

Læs mere

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer Denne guide er oprindeligt udgivet på Eksperten.dk TreeView i Access II Jeg vil i denne anden udgave af treeview føljetonen begynde på et mere brugbart eksempel med et TreeView. Vi laver en ny database

Læs mere

Navision Stat (NS 9.3)

Navision Stat (NS 9.3) Side 1 af 9 Navision Stat 9.2.005 (NS 9.3) ØSY/NSIR/RASEG Dato 07.03.2019 Danske Bank Webservice Installationsvejledning Overblik Introduktion Indholdsfortegnelse Overblik... 1 Introduktion... 1 Målgruppe...

Læs mere

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... 9 Offline synkronisering... 11 Klienter til mobile enheder...

Læs mere

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer.

Opsætning af Backup. Dette er en guide til opsætning af backup med Octopus File Synchronizer. Opsætning af Backup Dette er en guide til opsætning af backup med Octopus File Synchronizer. Det første der skal ske er at programmet skal registreres, dette gøres ved at vælge menuen Help og derefter

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Spring Schema Extension eller Spring Domain Specific Languages

Spring Schema Extension eller Spring Domain Specific Languages Spring Schema Extension eller Spring Domain Specific Languages Forfatter: Jeppe Cramon Cramon Consulting (http://www.cramon.dk) Dato: 23/7-2005 Efter at have arbejdet med Spring i lang tid, har jeg lagt

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Et nyt vindue vil åbne beder dig om at indtaste dit "Navn ", " Last Name " og " Password" - "Job Title " er ikke nødvendigt at bruge.

Et nyt vindue vil åbne beder dig om at indtaste dit Navn ,  Last Name  og  Password - Job Title  er ikke nødvendigt at bruge. Yammer for " Dummies " Manual Den URL Yammer er : www.yammer.com Du vil modtage en invitation til Yammer. Invitationen sendes til butikken e- mail -adresse (f.eks 2199@br-leg.dk ) og / eller til din butikschef

Læs mere

Installation af DATABOKS online backup manager

Installation af DATABOKS online backup manager Installation af DATABOKS online backup manager For at kunne tage fjern-backup skal du installere en online backup manager på din maskine. Den skal bl.a. bruges til at bestemme hvilke filer, databaser og

Læs mere

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det?

Web sider. Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? Introduktion: Har du nogensinde spekuleret over, hvordan det verdesomspændende internet virker og hvordan man snakker med det? I dag skal du lære at lave hjemmesider, så du også kan bidrage til at opbygge

Læs mere

Form og dens underlige box model

Form og dens underlige box model Denne guide er oprindeligt udgivet på Eksperten.dk Form og dens underlige box model Denne artikel handler om hvilke problemer man som webudvikler kan komme ud for, og hvordan man løser dem. Jeg kommer

Læs mere

DTD Document Type Definition:

DTD Document Type Definition: DTD Document Type Definition:...1 Sekvens:...2 Validering:...3 Attributter i DTD:...8 In-line DTD skemaer:...10 Entiteter:...11 Entiteter som værdier i attributter:...13 DTD skemaer kun med entiteter:...14

Læs mere

Velkommen til OPEN Storage

Velkommen til OPEN Storage Velkommen til OPEN Storage Version: 1.3 Seneste opdatering: 03-10-2018 Udarbejdet af: Harald Hammershøi INDHOLDSFORTEGNELSE Brugervejledning side 2 Introduktion til OPENs Storage tilbud... 3 Forskellen

Læs mere

Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.

Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET. Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i VB.NET Denne artikel vil vise lidt om hvordan man kan bruge XML i VB.NET. Den forudsætter kendskab til XML og VB.NET men ikke til brug af

Læs mere

PHP Crash course. Databaser

PHP Crash course. Databaser PHP Crash course Databaser PHP Intro PHP er et server scripting sprog der kan bruges til at lave aktivt indhold på hjemme sider. Der er to betingelser som skal opfyldes for at serveren fortolker PHP koden.

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Byggebasen Javascript

Byggebasen Javascript EG Data Inform Byggebasen Javascript Implementering af ansvarsperioder og produktdata på eget site Jens Karsø 2013 Indhold Byggebasen javascript-plugin til DB12-site... 2 DB12-site kommunikationsmodel...

Læs mere

TimePlan version 6.0 - Installationsvejledning

TimePlan version 6.0 - Installationsvejledning TimePlan version 6.0 - Installationsvejledning For opgradering af tidligere TimePlan versioner anvendes opdateringsprogrammet: TimePlan 6 Wizard.exe. Programmet kan afvikles på dansk eller engelsk. Opdateringsprogrammet

Læs mere

Mindmapping med FreeMind. En Introduktion til programmet FreeMind

Mindmapping med FreeMind. En Introduktion til programmet FreeMind En Introduktion til programmet FreeMind Jan Leffers 2006 Indholdsfortegnelse Indledning...2 Hvad er et mindmap...2 Mindmap guidelines...3 Download og installation...3 Kom hurtigt i gang...4 Det første

Læs mere

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net 18. november 2011 Vejledning Windows 7 - eklient Opkobling via ADSL eller anden kabelforbindelse til P-net. Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net Cisco AnyConnect

Læs mere

Dannelse af PDF dokumenter

Dannelse af PDF dokumenter Dannelse af PDF dokumenter Indhold Dannelse af PDF-dokumenter i Phd Planner... 2 Valg af vedhæftninger i PDF dokumentet... 2 Valg af skabelon for PDF dokumentet... 3 Når PDF filen er dannet... 5 Gem PDF

Læs mere

Dannelse af PDF-dokumenter

Dannelse af PDF-dokumenter Dannelse af PDF-dokumenter Indhold Generere PDF-dokumenter... 2 Håndtering af PDF-dokumentet... 8 Hvordan indsætter man sidetal i PDF-dokumentet?... 8 Hvordan laver man bookmarks i PDF-dokumentet?... 8

Læs mere

0.9 19-09-2012 DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat.

0.9 19-09-2012 DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat. Specifikation 19. september 2012 DAVAR J.nr. 2012-6211-281 Sagdokumentformat Versionshistorik Version Dato Initialer Noter 0.7 15-06-2012 DAVAR Høringsversion. Indsat MeddelelseAttention. 0.9 19-09-2012

Læs mere

WINDOWS FORMS EVENTS INTERAGEREN MED FIL SYSTEMET. Grundlæggende programmering Lektion 9

WINDOWS FORMS EVENTS INTERAGEREN MED FIL SYSTEMET. Grundlæggende programmering Lektion 9 EVENTS INTERAGEREN MED FIL SYSTEMET WINDOWS FORMS Grundlæggende programmering Lektion 9 1 EVENTS Der sker ting når der sker ting 2 EVENTS Events er brugerhandlinger såsom tastetryk, klik, musebevægelser,

Læs mere

Password-beskyttelse af visse filer

Password-beskyttelse af visse filer W EB DESIGN 101 K ODEORDSBESKYTTELSE A F VISSE FI LER Password-beskyttelse af visse filer P å et websted kan det være interessant kun at give en del af brugerskaren adgang til visse filer. Der er en mængde

Læs mere

Flerbruger miljø, opdel database

Flerbruger miljø, opdel database Denne guide er oprindeligt udgivet på Eksperten.dk Flerbruger miljø, opdel database Denne artikel henvender sig primært til begyndere og let øvede brugere af Access der ønsker at vide noget om flerbruger

Læs mere

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site.

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site. 1 Opstart af et site Opret hovedmappen Opret grafikmappen Opret dit site Mappen skal indeholde alle elementer til dit site. Opret en mappe indeni den første og kald den grafik. Heri lægges alle dine grafikfiler.

Læs mere

Microsoft Outlook 2010

Microsoft Outlook 2010 Microsoft Outlook 2010 Export & import med.pst filer Date: 2010-11-11 Version: 1 Author: Anders Bendtsen Target Level: Customer Target Audience: End User Language: da-dk Page 1 of 10 LEGAL INFORMATION

Læs mere

Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.

Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#. Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i C# Denne artikel vil vise lidt om hvordan man kan bruge XML i C#. Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.

Læs mere

Vejledning i skabelse og test af metadata

Vejledning i skabelse og test af metadata Side 1 af 5 Tilbage til statslige vejledninger Tilbage til vejledninger for kommunale myndigheder Vejledning i skabelse og test af metadata Indhold på denne side: 1. Om metadata 1.1 Opmærkning 2. Skabelse

Læs mere

SVG Scalable Vector Graphics.

SVG Scalable Vector Graphics. SVG Scalable Vector Graphics. SVG er en XML applikation, et vektor grafik Markup Language. Det betyder at et SVG dokument ER et XML dokument og skal overholde de samme normer. Et svg dokument skal f. eks.

Læs mere

Opdatering af ISOWARE til version 6.1.0

Opdatering af ISOWARE til version 6.1.0 Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3

Læs mere

Manual for Synkron hjemmesider

Manual for Synkron hjemmesider Manual for Synkron hjemmesider Denne manual tilhører: Brugernavn: (username) Adgangskode: (password) 1 Start med sitetræet: Sitetræet er centralt. Det er her, dit website er. Det er her, du bygger dine

Læs mere

I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud.

I denne artikel vil jeg gennemgå hvordan en side for RSS Live Bogmærke kan se ud. Denne guide er oprindeligt udgivet på Eksperten.dk RSS "Live Bogmærke" I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud. Skrevet den 10. Feb 2009 af madsass I kategorien

Læs mere

Installation af en virtuel maskine

Installation af en virtuel maskine Installation af en virtuel maskine Hvad er en virtuel maskine? Du skal se en virtuel maskine som en ekstra computer, som kører inde i maven på din computer. Det vil sige du kan have en windows computer

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

IDAP manual Emission

IDAP manual Emission IDAP manual Emission Dato: 08-06-2005 16:32:35 Indhold INDHOLD... 1 1 EMISSION... 2 1.1 KURVER... 2 1.2 RAPPORTER... 5 1.3 DATA REDIGERING... 6 1.3.1 Masse redigering... 7 1.3.2 Enkelt redigering... 10

Læs mere

Interaktionsudvikling

Interaktionsudvikling Projektopgave 3: Interaktionsudvikling CPH business, klasse: MulA2013 Projektansvarlige undervisere Thomas Hartmann MereteGeldermann lützen: Projekt produkt url: www.amalieardahl.dk/projekt3/index.html

Læs mere

Du kan også bruge Dropbox sammen med din Iphone, Android telefon eller anden smartphone.

Du kan også bruge Dropbox sammen med din Iphone, Android telefon eller anden smartphone. Dropbox Introduktion til Dropbox Dropbox er en online tjeneste, hvor man ganske gratis kan få noget lagerplads til sine dokumenter, billeder og meget mere. Der er mange muligheder med Dropbox, som bliver

Læs mere

0KAPITEL 2: UDLÆSNING TIL WORD OG EXCEL

0KAPITEL 2: UDLÆSNING TIL WORD OG EXCEL Kapitel 2: Udlæsning til Word og Excel 0KAPITEL 2: UDLÆSNING TIL WORD OG EXCEL 1Målsætninger Målsætningerne er at: Integrere med Microsoft Word. Integrere med Microsoft Excel. Integrere med andre Microsoft-produkter.

Læs mere

Manual for installering og brug af IE-spyad af Anette B. Overgaard

Manual for installering og brug af IE-spyad af Anette B. Overgaard Manual for installering og brug af IE-spyad af Anette B. Overgaard Jeg kan varmt anbefale alle at installere dette lille geniale program. Det sikrer dig mod rigtig meget spyware, som ligger rundt omkring

Læs mere

Dannelse af PDF-dokumenter

Dannelse af PDF-dokumenter Dannelse af PDF-dokumenter Indhold Generere PDF-dokumenter... 2 Håndtering af PDF-dokumentet... 6 Hvordan indsætter man sidetal i PDF-dokumentet?... 6 Hvordan laver man bookmarks i PDF-dokumentet?... 7

Læs mere

Bootstrap Tutorial LAV EN SIMPEL RESPONSIVE SIDE MED BOOTSTRAP MATHIAS HERSKIND GROTRIAN

Bootstrap Tutorial LAV EN SIMPEL RESPONSIVE SIDE MED BOOTSTRAP MATHIAS HERSKIND GROTRIAN 2015 Bootstrap Tutorial LAV EN SIMPEL RESPONSIVE SIDE MED BOOTSTRAP MATHIAS HERSKIND GROTRIAN I denne tutorial kommer du til at I denne tutorial vil du lære hvad Bootstrap er, hvordan det fungerer og hvordan

Læs mere

Her ser i hvorledes man nemt kan installere en række nyttige programmer, uden at få andet end selv programmet installeret. på WWW.NINITE.

Her ser i hvorledes man nemt kan installere en række nyttige programmer, uden at få andet end selv programmet installeret. på WWW.NINITE. Når man nu har en frisk ny Windows installation, så gælder det om at tilpasse den så den er brugbar men også at få de hjælpe of vedligeholdes programmer som gør maskinen kan sikres mod diverse malware

Læs mere

OrCAD Capture TCL IDE med Eclipse

OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL IDE med Eclipse OrCAD Capture TCL er et script sprog til at lave applikationer til OrCAD Capture. Eclipse er et gratis udviklingsmiljø med debug muligheder. Denne guide hjælper med at

Læs mere

Sådan redigerer du en hjemmeside i Umbraco

Sådan redigerer du en hjemmeside i Umbraco Brugermanual til din boligafdelings hjemmeside Sådan redigerer du en hjemmeside i Umbraco Indhold Introduktion... 2 Log på Umbraco og redigér din hjemmeside... 3 Opret ny side... 7 Gem side uden at udgive/publicere

Læs mere

Advanced Word Template Brugermanual

Advanced Word Template Brugermanual Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste

Læs mere

Login på skolens maskiner.

Login på skolens maskiner. Login på skolens maskiner. For at kunne arbejde på skolens maskiner, så er det nødvendigt at logge ind med jeres eget brugernavn og password. Med login får I adgang til jeres eget netværks-drev ( X: )

Læs mere

Installation af Elektronisk APV på flere PC er

Installation af Elektronisk APV på flere PC er Installation af Elektronisk APV på flere PC er Vejledning til installation af Elektronisk APV, når programmet skal installeres på flere PC er, der kobler sig op på en fælles server. 1 Installation af Elektronisk

Læs mere

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Virtuel PC Fordele/ulemper Fordele: Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Ulemper: Reserverer RAM (Windows 7) Problemer med at ureglementeret lukke ned Mister

Læs mere

Google Chrome side 1 af13

Google Chrome side 1 af13 Google Chrome side 1 af13 Indholdsfortegnelse: Download Google Chrome... Side 2 Overblik... Side 3 Angiv startside... Side 7 Søg direkte i adresselinjen... Side 8 Bogmærker sider... Side 8 Bogmærkeadministratoren...

Læs mere

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010 Opsætning af Trio Web Vers 2.0 feb. 2010 Indholdsfortegnelse Opsætning af Trio Web... 3 Generel opsætning af Trio Web... 3 Databaseopsætning... 3 DB... 3 Aar... 4 Login... 4 Internet... 4 Port... 4 Registreringsnøgle...

Læs mere

Novell Vibe Quick Start til mobilenheder

Novell Vibe Quick Start til mobilenheder Novell Vibe Quick Start til mobilenheder Marts 2015 Introduktion Din Vibe-administrator kan deaktivere mobiladgang til Novell Vibe-webstedet. Hvis du ikke har adgang til Vibemobilgrænsefladen som beskrevet

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

3. PROJEKT, 2 SEMESTER

3. PROJEKT, 2 SEMESTER 3. PROJEKT, 2 SEMESTER Bruger undersøgelse, af sociale medie. KENDSKAB TIL OG BRUG AF ONLINE SOCIALE MEDIER FORENINGEN AF DANSKE INTERAKTIVE MEDIER, FÅET TIL OPGAVE AT AFDÆKKE DANSKERNES BRUG AF SOCIALE

Læs mere

ASB E-mailsignatur. ASB E-mailsignatur. Vejledning til opsætning af e-mailsignatur IKT - Februar 2008

ASB E-mailsignatur. ASB E-mailsignatur. Vejledning til opsætning af e-mailsignatur IKT - Februar 2008 ASB E-mailsignatur I det følgende forklares, hvordan du opretter ASBs e-mailsignatur for medarbejdere. Det skal her noteres at e-mail signaturen ikke kan opsættes i webmail (webmail.asb.dk), men skal opsættes

Læs mere

PHP kode til hjemmeside menu.

PHP kode til hjemmeside menu. PHP kode til hjemmeside menu. Home Hovedmenu 1 Hovedmenu 2 Hovedmenu 3 Hovedmenu 4 Undermenu 1 Breadcrumb Her vises indholdet af den valgte side Undermenu 2 Undermenu 3 Undermenu 4 Evt. en mulighed for

Læs mere