XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
C++ for Java-programmerere
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Nyhetsfôring med RSS ALEPH brukermøte 2006
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
XML EXtensible Markup Language
Uke 8 - Mer om: Objekter, klasser og pekere
XML Extensible Markup Language Program •XML – hvordan ser et XML dokument ut? •Programmatisk behandling av XML •SAX – Simple API for XML •DOM – Document.
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
XMLSchema.  Innledende eksempler: Tove 4. Janni 5. Huskelapp 6. Ikke glem avtalen til helgen 7. Vi har sett DTD’en til dette xml dok. Her kommer.
Unit testing Gruppe 2: Kjartan Haugen Jon Gunnar Bjørkmo
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Java 14 Et eksempel fra bioinformatikk: analyse av biologiske sekvenser Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
#include Ligner litt på import i java. Setter inn hele fila stdio.h i programteksten. Definerer en del io funksjoner slik at signaturen er kjent. I dette.
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
C# for javaprogrammerere
En gang til!? .
Fag LO189D - Objektorientert programmering Objektorientert programmering© Else Lervik, TISIP - HiST/IDB vår-99Leksjon 11 Applet’s Hva karakteriserer applet’sside.
Apache POI.
Web-applikasjoner Prosjekt3 Logging Gruppe 9 Malik Muhammad Naeem Kevan Qureshi.
XMLSchema.
JAVASCRIPT I NETTLESEREN. Objekter i nettleseren Objekter som er innebygd i språket Egendefinerte objekter Nettleser objekter HTML objekter.
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
XML Extended Markup Language - The ASCII of the Future.
XML.
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
Innledning om HTML IT20 oktober Bakgrunn Konseptet WWW ble født i 1983 i CERN, Geneve Opphavsmann: Tim Berners-Lee, MIT Spre informasjon uavhengig.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
XSLT The Candy Community. Fiktivt community Godteri-relatert og sukkersøt musikk. To typer metadata: Candy factor Sugar level.
CSS Doing it in style!. CSS Cascading style sheets. Eget språk for presentasjon av dokumenter. Ligner Java-syntaks. Klasser av stiler for gjenbruk. Kaskaderende.
DOM og scripting Making it come alive. Hva er DOM? Standard for å definere trestrukturen til XML-dokumenter. IDL-spesifikasjon av grensesnitt, egenskaper.
Kort om XML Språket om språket. XML: Eksempel Hans Tømmerholt.
Kommentarer og stil ”Dette suger!” ”Ne-hei!” ”Jo- hoo”, osv.
Kort om HTML ML meg her og ML meg der. En SV’er til og med.
Kort om HTML ML meg her og ML meg der..
Oblig 2: The Candy-community. Om XML, XSLT, Sablotron og HTML.
OOT Seminar H-97 CORBA Praktisk del. Valg av ORB implementasjon n Har valgt å bruke Visigenic sin ORB implementsjon n ORB’en er 100% Java kodet n Bygger.
Om Internett, World Wide Web, egen hjemmeside Ole Christian Rynning
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
02 - Java datatyper Grundlæggende om datatyper og variable.
CORBA Noen hull som må fylles: ORB Object Adapters CORBA services IDL Factory Objects.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Föreläsning 13 Programmeringsteknik och Matlab 2D1312/2D1305 Inläsning från fil Skriva till fil StringTokenizer Sortering.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
Kort om html Forelesning feb Noen begreper i tilknytning til internett nettside (webside) (nesten=) hjemmeside = home page = betegnelse som.
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Konventionel tekstformatering: Her har vi en overskrift fulgt af normal tekst Deskriptiv tekstformatering: Her har vi en overskrift fulgt af normal tekst.
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
Intro til (x)html Del 1. HUMIT1731 uke35b Kåre A. Andersen 2 En mal … Dette er en mal for DTD XHTML 1.0 Transitional Her kommer.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
HUMIT1731 Hypermedier Eksamen folk.uio.no/kaarean/humit1731/oppgaver/Humit1731_h08.doc.
HUMIT1731 Hypermedier Introduksjon til XSL Transformation (XSLT)
Inf1000 (Uke 5) Arrayer, filer og tekst
Se side 8-9. Kapittel 1: HTML5 og CSS Hyper Text Markup Language 1990-årene: Tim Berners-Lee ville strukturere tekster og lage klikkbare henvisninger på.
Lokale variable Hvis vi trenger å ta vare på en verdi, inne i en metode kan vi definere en lokal variabel: int amount = 0; vi må fortelle hvilken type.
Intro til WWW, HTML5 og CSS
Utskrift av presentasjonen:

XML og JDOM Helge Furuseth

XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML = Hypertext Markup Language Også basert på SGML Mange likheter

HTML

HTML-kode Jons HTML-dokument Jons HTML-overskrift Bla bla bla, bla bla Bla bla bla

XML-kode Jons XML-dokument Jons h1-element Bla bla bla, bla bla Bla bla bla

Forskjeller fra HTML  XML har strengere syntaks  XML har ingen semantikk  XML er utvidbart (extensible)

Strengere syntaks  Case-sensitiv forskjellig fra  Slutt-tagger påbudt alene ulovlig eller  Attributtverdier må ha anførselstegn Galt: Riktig:

Ingen semantikk

Utvidbart  Lag egne tagger og attributter Helge Furuseth Helge er student ved IDI og und.ass i sif8040

Dokumentbeskrivelse  Document Type Description (DTD) beskriver XML dokumentets oppbygging <!DOCTYPE person [ ]>

Parsing  XML ’parses’ slik at applikasjonen kan forstå det  Sjekker for syntaks (vel-formethet) og kan validere dette mot en DTD  Mest vanlig: DOM (Document Object Model) og SAX (Simple API for XML)

Navnerom  XML som beskriver en tabell: Apples Bananas  XML som beskriver et bord: African Coffee Table

Navnerom (2) Apples Bananas African Coffee Table

Default Namespaces and Scope African Coffee Table

JDOM

JDOM  Java-klasser som representerer XML- dokumenter  ”Java Document Object Model” Alternativ til DOM (og SAX)  org.jdom.*  Viktige klasser: Element Attribute Document

Element  Element(String name)  Attributter: setAttribute(String name, String value) String getAttributeValue(String name) Attribute getAttribute(String name)  Barn: addContent(Element child / String text) Element getChild(String name) String getText() List getChildren()

Attribute  Attribute(String name, String value)  Verdi-metoder: String getValue() int getIntValue() boolean getBooleanValue() osv.  Element-metoder ofte tilstrekkelig

Document  Document(Element rootElement)  Element getRootElement()

Hente innhold Helge Furuseth Helge er student ved IDI og und.ass i sif8040 … Element rootElement = mittXMLdocument.getRootElement(); Element description = rootElement.getChild(”description"); Element descriptionText = description.getChild(”text”); String text = descriptionText.getText(); …

Hent innhold direkte Helge Furuseth Helge er student ved IDI og und.ass i sif8040 … String text = mittXMLdocument.getRootElement().getChild(”description").getChild(”text”).getText(); …

Legg til innhold … Element imageURL = new Element(”imageURL"); Text text = new Text (” imageURL.addContent (text); mittXMLDocument.getRootElement().getChild(”description").addContent (imageURL); … Helge Furuseth Helge er student ved IDI og und.ass i sif8040

XML-output  org.jdom.output.XMLOutputter  XMLOutputter(String indent, boolean newlines)  output(Document, Writer/OutputStream)  output(Element, Writer/OutputStream)

XML-input  org.jdom.input.SAXBuilder  SAXBuilder(String saxParserClassName) new SAXBuilder(”org.apache.xerces.parsers.SaxParser”)  Document build(File/Reader/InputStream)

Innputt/utputt eksempel  import java.io.*; import org.jdom.*; import org.jdom.input.*; import org.jdom.output.*; public class PrettyPrinter { public static void main(String[] args) { // Anta at argument er filnavn String filename = args[0]; try { // Bygger dokument med SAX uten validering SAXBuilder builder = new SAXBuilder(); // Lager document Document doc = builder.build(new File(filename)); // Skriver ut dokument til standard utputt XMLOutputter fmt = new XMLOutputter(); fmt.output(doc, System.out); } catch (Exception e) { e.printStackTrace(); } } }

XML-output eksempel Document minXML = … ; //Generer Document URL url = new URL (”protokoll://gribb06.idi.ntnu.no:5555”); URLConnection connection = url.openConnection(); OutputStream out = connection.getOutputStream(); XMLOutputter outputter = new XMLOutputter (””, false); Outputter.output (minXML, out);