XML in programming. Patryk Czarnik. XML and Modern Techniques of Content Management 2012/13

Size: px
Start display at page:

Download "XML in programming. Patryk Czarnik. XML and Modern Techniques of Content Management 2012/13"

Transcription

1 XML in programming Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management 2012/13

2

3 Introduction XML in programming XML in programming what for? To access data in XML format To use XML as data carrier (storage and transmission) To support XML applications (Web, content management, ) To make use of XML-related standards (XML Schema, XInclude, XSLT, XQuery, XLink, ) To develop or make use of XML-based software technology (Web Services etc) Patryk Czarnik 10 Programming XML 2012/13 4 / 1

4 Introduction XML in programming how? XML in programming Bad way Treat XML as plain text files and write low-level XML support from scratch Better approach Use existing libraries and tools Even better Use standardised interfaces independent from particular suppliers Patryk Czarnik 10 Programming XML 2012/13 5 / 1

5 XML in Java Introduction XML in programming Java motivation for us One of the most popular programming languages Very good XML support Standards Both included in Java Standard Edition from 60 Java API for XML Processing (JAXP) many interfaces and few classes, factories and pluggability layer support for XML parsing and serialisation (DOM, SAX, StAX) support for XInclude, XML Schema, XPath, XSLT Java API for XML Binding (JAXB) binding between Java objects and XML documents Patryk Czarnik 10 Programming XML 2012/13 6 / 1

6 Models Classification of XML access models Document read into memory generic interface example: DOM interface depending on document type (schema) example: JAXB Document processed node by node event model (push parsing) example: SAX streaming model (pull parsing) example: StAX Patryk Czarnik 10 Programming XML 2012/13 8 / 1

7 Models Document tree (DOM) Document Object Model Whole document in memory, as tree of objects W3C Recommendations DOM Level DOM Level Specification split into many modules (separate recommendations) Dom Core the most important DOM module for XML Standard independent of programming language (interfaces given in IDL) Java realisation presented here Patryk Czarnik 10 Programming XML 2012/13 9 / 1

8 DOM important interfaces Node NodeList NamedNodeMap Element Attr Entity Document Processing Instruction CharacterData Entity Reference DocumentFragment Comment Text DocumentType CDATASection

9 Models Document tree (DOM) Node interface chosen methods Content access getattributes() getchildnodes() getfirstchild() getlastchild() getnextsibling() getnodename() getnodevalue() getnodetype() getownerdocument() getparentnode() haschildnodes() Content modification appendchild(node) insertbefore(node, Node) removechild(node) replacechild(node, Node) setnodevalue(string) setnodename(string) Copying clonenode(boolean) importnode() Patryk Czarnik 10 Programming XML 2012/13 11 / 1

10 Example introduction Models Document tree (DOM) Example document <department id="acc"> <name>accountancy</name> <person id="102103" position="specialist"> <first-name>dawid</first-name> <last-name>paszkiewicz</last-name> <phone type="office"> </phone> <phone type="fax"> </phone> <salary>2222</salary> </person> <person id="102104" position="chief"> <first-name>monika</first-name> <last-name>domżałowicz</last-name> <salary>3500</salary> </person> Problem: Count sum of salaries of assistants Patryk Czarnik 10 Programming XML 2012/13 12 / 1

11 DOM example (1) Models Document tree (DOM) Program int r e s u l t = 0; DocumentBuilderFactory f a c t o r y = DocumentBuilderFactory newinstance ( ) ; DocumentBuilder b u i l d e r = f a c t o r y newdocumentbuilder ( ) ; Document doc = b u i l d e r parse ( args [ 0 ] ) ; Node cur = doc g e t F i r s t C h i l d ( ) ; while ( cur getnodetype ( )!= Node ELEMENT NODE) cur = cur getnextsibling ( ) ; cur = cur g e t F i r s t C h i l d ( ) ; while ( cur!= null ) { i f ( cur getnodetype ( ) == Node ELEMENT NODE) { Node a t t r = cur g e t A t t r i b u t e s ( ) getnameditem ( p o s i t i o n ) ; i f ( a t t r!= null && s p e c i a l i s t equals ( a t t r getnodevalue ( ) ) ) { r e s u l t += processperson ( cur ) ; } } cur = cur getnextsibling ( ) ; } Patryk Czarnik 10 Programming XML 2012/13 13 / 1

12 DOM example (2) Models Document tree (DOM) Method processperson private static int processperson ( Node person ) { Node cur = person g e t F i r s t C h i l d ( ) ; while ( cur!= null ) { i f ( cur getnodetype ( ) == Node ELEMENT NODE && s a l a r y equals ( cur getnodename ( ) ) ) { S t r i n g B u f f e r buf = new S t r i n g B u f f e r ( ) ; Node c h i l d = cur g e t F i r s t C h i l d ( ) ; while ( c h i l d!= null ) { i f ( c h i l d getnodetype ( ) == Node TEXT NODE ) buf append ( c h i l d getnodevalue ( ) ) ; c h i l d = c h i l d getnextsibling ( ) ; } return Integer parseint ( buf t o S t r i n g ( ) ) ; } cur = cur getnextsibling ( ) ; } return 0; / / no s alar y found } Patryk Czarnik 10 Programming XML 2012/13 14 / 1

13 Models Document tree (DOM) DOM two styles of programming Generic approach use only Node interface nodetype property kind of node properties: nodename, nodevalue, childnodes content access and modification methods: appendchild(node), removechild(node) structure modification Object-oriented approach use specialised interfaces Document: getdocumentelement(), getelementbyid(string) Element: getelementsbytagname(string), getattribute(string), setattribute(string, String) Attribute: boolean getspecified() Text: String substringdata(int, int), insertdata(int, String) Patryk Czarnik 10 Programming XML 2012/13 15 / 1

14 Models Document tree (DOM) DOM with subclasses example (1) Program int r e s u l t = 0; DocumentBuilderFactory f a c t o r y = DocumentBuilderFactory newinstance ( ) ; DocumentBuilder b u i l d e r = f a c t o r y newdocumentbuilder ( ) ; Document doc = b u i l d e r parse ( args [ 0 ] ) ; Element root = doc getdocumentelement ( ) ; NodeList l i s t = root getelementsbytagname ( person ) ; for ( int i = 0; i < l i s t getlength ( ) ; ++i ) { Element person = ( Element ) l i s t item ( i ) ; i f ( s p e c i a l i s t equals ( person g e t A t t r i b u t e ( p o s i t i o n ) ) ) r e s u l t += processperson ( person ) ; } Patryk Czarnik 10 Programming XML 2012/13 16 / 1

15 Models Document tree (DOM) DOM with subclasses example (2) Method processperson private static int processperson ( Element person ) { NodeList l i s t = person getelementsbytagname ( s a l ary ) ; i f ( l i s t getlength ( ) > 0) { S t r i n g value = l i s t item ( 0 ) gettextcontent ( ) ; return Integer parseint ( value ) ; } else { return 0; } } Patryk Czarnik 10 Programming XML 2012/13 17 / 1

16 XML binding idea Models XML binding (JAXB) XML documents and objects (eg Java): schema (type) corresponds to class, document/node corresponds to object Implementations: JAXB (Sun), Castor (Exolab), XML Beans (Apache) Patryk Czarnik 10 Programming XML 2012/13 18 / 1

17 Models Java API for XML Binding (JAXB) XML binding (JAXB) Inspired by Sun, supported by javanet Current version: 20 Motivated by Web Services Components generic API fragment two-way translation specification customisation and annotations Patryk Czarnik 10 Programming XML 2012/13 19 / 1

18 JAXB usage scenarios Models XML binding (JAXB) Schema to Java 1 Preparation of schema 2 Schema to Java compilation (XJC) translation customisable result: annotated classes basing on schema types 3 Developing application making use of generic part of JAXB API generated classes Java to Schema 1 Preparation of model classes 2 Adding annotations to classes 3 Making use of generic JAXB API to perform marshalling, unmarshalling etc 4 (Optional) Generating schema basing on classes Patryk Czarnik 10 Programming XML 2012/13 20 / 1

19 JAXB example (1) Schema and generated classes Schema Models XML binding (JAXB) <xs:element name="department"> <xs:complextype> <xs:sequence> <xs:element name="name" type="xs:string" minoccurs="0"/> <xs:element name="person" type="tperson" maxoccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:string"/> </xs:complextype> </xs:element> Generated (name = department ) public class Department { protected S t r i n g name; protected L i s t <TPerson> person (name = i d ) protected S t r i n g i d ; Patryk Czarnik 10 Programming XML 2012/13 21 / 1

20 JAXB example (2) Models XML binding (JAXB) Schema <xs:complextype name="tperson"> <xs:sequence> <xs:element name="first-name" type="xs:string"/> <xs:element name="last-name" type="xs:string"/> <xs:element name="phone" type="tphone" minoccurs="0" maxoccurs="unbounded"/> <xs:element name=" " type="xs:token" minoccurs="0" maxoccurs="unbounded"/> <xs:element name="salary" type="xs:int" minoccurs="0"/> </xs:sequence> <xs:attribute name="id" type="xs:integer" use="required"/> <xs:attribute name="position" type="xs:token"/> </xs:complextype> Patryk Czarnik 10 Programming XML 2012/13 22 / 1

21 JAXB example (3) Models XML binding (JAXB) Generated class public class TPerson (name = f i r s t name, required = true ) protected S t r i n g firstname (name = l a s t name, required = true ) protected S t r i n g lastname ; protected L i s t <TPhone> phone ( CollapsedStringAdapter class ) protected L i s t <String> ; protected Integer sala ry (name = i d, required = true ) protected BigInteger i d (name = p o s i t i o n ) protected S t r i n g p o s i t i o n ; Patryk Czarnik 10 Programming XML 2012/13 23 / 1

22 JAXB example(4) Models XML binding (JAXB) Program JAXBContext j c = JAXBContext newinstance ( Department class ) ; Unmarshaller u = j c createunmarshaller ( ) ; Department doc = ( Department ) u unmarshal (new FileInputStream ( args [ 0 ] ) ) ; L i s t <TPerson> employees = doc getperson ( ) ; for ( TPerson person : employees ) { i f ( s p e c i a l i s t equals ( person g e t P o s i t i o n ( ) ) ) { i f ( person getsalary ( )!= null ) r e s u l t += person getsalary ( ) ; } } System out p r i n t l n ( Result : +r e s u l t ) ; Patryk Czarnik 10 Programming XML 2012/13 24 / 1

23 Models Event model (SAX) Processing documents node by node motivation Whole document in memory (DOM, JAXB) Convenient, high-level approach Cost for efficiency memory usage creating tree with references (DOM) translating data between text and binary format (JAXB) Reading document node by node Efficient possible processing in constant memory less operations to perform Harder to develop complex logic Patryk Czarnik 10 Programming XML 2012/13 25 / 1

24 Event model idea Models Event model (SAX) Document seen as a stream of events: element beginning, text node, element end, ), Programmer registers code to be run during processing Parser reads document and calls programmer s methods relevant to particular events data (element names, text fragments) given in parameters Separation of responsibility Parser responsible for physical-level processing Programmer responsible for logical-level processing Patryk Czarnik 10 Programming XML 2012/13 26 / 1

25 SAX typical usage (1) Models Event model (SAX) Status Simple API for XML Version 10 in 1998 Interfaces specified in Java Idea applicable for other programming languages Typical usage 1 Programmer-provided class implementing ContentHandler 2 Optionally classes implementing ErrorHandler, DTDHandler, or EntityResolver one class may implement all of them DefaultHandler convenient base class to start with Patryk Czarnik 10 Programming XML 2012/13 27 / 1

26 SAX typical usage (2) Models Event model (SAX) Typical application schema 1 Obtain XMLReader (or SAXParser) from factory 2 Create ContentHandler instance 3 Register handler in reader 4 Invoke parse method 5 Parser conducts processing and calls methods of our ContentHandler 6 Use data collected by ContentHandler Patryk Czarnik 10 Programming XML 2012/13 28 / 1

27 Models SAX example (1) ContentHandler implementation Event model (SAX) class StaffHandler extends DefaultHandler { enum State {EXTERNAL, PERSON, SALARY }; private int r e s u l t = 0; private State state = State EXTERNAL ; private S t r i n g B u f f e r buf ; public int getresult ( ) { return r e s u l t ; } public void startelement ( S t r i n g uri, S t r i n g localname, S t r i n g qname, A t t r i b u t e s a t t r i b u t e s ) throws SAXException { i f ( person equals (qname ) ) { S t r i n g a t t r V a l = a t t r i b u t e s getvalue ( p o s i t i o n ) ; i f ( s p e c i a l i s t equals ( a t t r V a l ) ) state = State PERSON ; } else i f ( s a l a r y equals (qname ) ) { i f ( state == State PERSON) { state = State SALARY ; buf = new S t r i n g B u f f e r ( ) ; } } } Patryk Czarnik 10 Programming XML 2012/13 29 / 1

28 SAX example (2) Models Event model (SAX) StaffHandler continued public void characters ( char [ ] ch, int s t a r t, int length ) throws SAXException { i f ( state == State SALARY ) buf append ( ch, s t a r t, length ) ; } public void endelement ( S t r i n g uri, S t r i n g localname, S t r i n g qname) throws SAXException { i f ( person equals (qname ) ) { i f ( state == State PERSON) { state = State EXTERNAL ; } } else i f ( s a l a r y equals (qname ) ) { i f ( state == State SALARY ) { state = State PERSON ; r e s u l t += Integer parseint ( buf t o S t r i n g ( ) ) ; } } } } Patryk Czarnik 10 Programming XML 2012/13 30 / 1

29 SAX example (3) Models Event model (SAX) Main program (Traditional SAX version) XMLReader reader = XMLReaderFactory createxmlreader ( ) ; StaffHandler handler = new StaffHandler ( ) ; reader setcontenthandler ( handler ) ; reader parse (new InputSource ( args [ 0 ] ) ) ; System out p r i n t l n ( Result : +handler getresult ( ) ) ; Main program (JAXP version) SAXParserFactory f a c t o r y = SAXParserFactory newinstance ( ) ; SAXParser parser = f a c t o r y newsaxparser ( ) ; StaffHandler handler = new StaffHandler ( ) ; parser parse ( args [ 0 ], handler ) ; System out p r i n t l n ( Result : +handler getresult ( ) ) ; Patryk Czarnik 10 Programming XML 2012/13 31 / 1

30 SAX filters Models Event model (SAX) Implement XMLFilter interface, indirectly also XMLReader behave like parser, but receive events from another XMLReader (parser or filter) may be chained Default implementation: XMLFilterImpl: implements ContentHandler, ErrorHandler and so on passes all events through Capabilities: events filtering changing data or structure, by calling subsequent handler methods with changed parameters on-line document processing processing by many modules in one-pass reading Patryk Czarnik 10 Programming XML 2012/13 32 / 1

31 SAX filter example public void characters ( char [ ] ch, int s t a r t, int length ) throws SAXException { i f ( pass ) super characters ( ch, s t a r t, length ) ; } } public class A s s i s t a n t F i l t e r extends XMLFilterImpl { private boolean pass = true ; public void startelement ( S t r i n g uri, S t r i n g localname, S t r i n g qname, A t t r i b u t e s a t t s ) throws SAXException { i f ( person equals (qname) && a s s i s t a n t equals ( a t t s getvalue ( p o s i t i o n ) ) ) pass = false ; i f ( pass ) super startelement ( uri, localname, qname, a t t s ) ; } public void endelement ( S t r i n g uri, S t r i n g localname, S t r i n g qname) throws SAXException { i f ( pass ) super endelement ( uri, localname, qname ) ; i f ( person equals (qname ) ) czyprzepuszczac = true ; }

32 Models Stream model (pull parsing) Stream model (StAX) Alternative for event model application pulls events/nodes from parser processing controlled by application, not parser idea analogous to: iterator, cursor, etc Advantages of SAX saved high efficiency possible to process large documents Standardisation Common XmlPull API Java Community Process, JSR 173: Streaming API for XML Patryk Czarnik 10 Programming XML 2012/13 34 / 1

33 Models StAX Streaming API for XML Stream model (StAX) Important interfaces XMLStreamReader low level parser hasnext(), int next(), int geteventtype(), getname(), getvalue(), getattributevalue(), XMLEventReader (relatively) high level parser XMLEvent next(), XMLEvent peek() XMLEvent represents event in high level approach geteventtype(), isstartelement(), ischaracters(), podinterfejsy StartElement, Characters, XMLStreamWriter, XMLEventWriter XMLStreamFilter, XMLEventFilter Patryk Czarnik 10 Programming XML 2012/13 35 / 1

34 StAX example (1) Models Stream model (StAX) Program private static XMLStreamReader reader ; public void run ( ) { int r e s u l t = 0; XMLInputFactory f a c t o r y = XMLInputFactory newinstance ( ) ; reader = f a c t o r y createxmlstreamreader (new FileInputStream ( args [ 0 ] ) ) ; } while ( reader hasnext ( ) ) { int eventtype = reader next ( ) ; i f ( eventtype == XMLStreamConstants START ELEMENT ) { i f ( person equals ( reader getlocalname ( ) ) ) { S t r i n g a t t r V a l = reader getattributevalue ( null, p o s i t i o n ) ; i f ( s p e c i a l i s t equals ( a t t r V a l ) ) { r e s u l t += this processgroup ( ) ; } } } } } reader close ( ) ; System out p r i n t l n ( Result : +r e s u l t ) ; Patryk Czarnik 10 Programming XML 2012/13 36 / 1

35 StAX example (2) Models Stream model (StAX) Method processperson private int processperson ( ) throws XMLStreamException { int r e s u l t = 0; } while ( reader hasnext ( ) ) { int eventtype = reader next ( ) ; switch ( eventtype ) { case XMLStreamConstants START ELEMENT : i f ( s a l a r y equals ( reader getlocalname ( ) ) ) { S t r i n g val = reader getelementtext ( ) ; r e s u l t += Integer parseint ( val ) ; } break ; case XMLStreamConstants END ELEMENT : i f ( person equals ( reader getlocalname ( ) ) ) { return r e s u l t ; } } } return r e s u l t ; Patryk Czarnik 10 Programming XML 2012/13 37 / 1

36 Models Which model to choose? (1) Comparison Document tree in memory: small documents (must fit in memory) concurrent access to many nodes creating new and editing existing documents in place Generic document model (like DOM): not established or not known structure of documents lower efficiency accepted XML binding (like JAXB): established and known structure of documents XML as data serialisation method Patryk Czarnik 10 Programming XML 2012/13 38 / 1

37 Models Which model to choose? (2) Comparison Processing node by node potentially large documents relatively simple, local operations efficiency is the key factor Event model (like SAX): using already written logic (SAX is more mature) filtering of events asynchronous events several aspects of processing during one reading of document Streaming model (like StAX): processing depending on context; complex states processing should end after data is found reading several documents simultaneously Patryk Czarnik 10 Programming XML 2012/13 39 / 1

38 Support for XML-related standards Validation Validation against DTD during parsing Parsing using validating parser SAXParserFactory factory = SAXParserFactorynewInstance(); factorysetvalidating(true); XMLReader reader = factorynewsaxparser()getxmlreader(); readersetcontenthandler(mojconenthandler); readerseterrorhandler(mojerrorhandler); readerparse(args[0]); Note Ṿalidating parser defined formally in XML Recommendation Patryk Czarnik 10 Programming XML 2012/13 41 / 1

39 Support for XML-related standards Validation Validation against XML Schema during parsing One of possible approaches SchemaFactory schemafactory = SchemaFactorynewInstance(XMLConstantsW3C_XML_SCHEMA_NS_URI); Schema schema = schemafactorynewschema(new StreamSource("staffxsd")); SAXParserFactory factory = SAXParserFactorynewInstance(); factorysetvalidating(false); factorysetschema(schema); factorysetnamespaceaware(true); XMLReader reader = factorynewsaxparser()getxmlreader(); readersetcontenthandler(myconenthandler); readerseterrorhandler(myerrorhandler); readerparse(args[0]); Patryk Czarnik 10 Programming XML 2012/13 42 / 1

40 Support for XML-related standards Validation Validators, saving DOM tree to file In-memory validation of DOM tree SchemaFactory schemafactory = SchemaFactorynewInstance(XMLConstantsW3C_XML_SCHEMA_NS_URI); Schema schema = schemafactorynewschema(new StreamSource("staffxsd")); Validator validator = schemanewvalidator(); validatorseterrorhandler(myerrorhandler); validatorvalidate(new DOMSource(doc)); DOM tree saved using DOM Load and Save interface DOMImplementationLS lsimpl = (DOMImplementationLS)domImplgetFeature("LS", "30"); LSSerializer ser = lsimplcreatelsserializer(); LSOutput out = lsimplcreatelsoutput(); outsetbytestream(new FileOutputStream("outxml")); serwrite(doc, out); Patryk Czarnik 10 Programming XML 2012/13 43 / 1

41 Support for XML-related standards Transformers for XSLT Transformers XSLT run for external XML files TransformerFactory t f = TransformerFactory newinstance ( ) ; Transformer transformer = t f newtransformer ( new StreamSource ( s t a f f h t m l x s l ) ) ; Source src = new StreamSource ( s t a f f xml ) ; Result res = new StreamResult ( r e s u l t html ) ; transformer transform ( src, res ) ; Patryk Czarnik 10 Programming XML 2012/13 44 / 1

42 Support for XML-related standards Transformers Transformers other applications SAX filter + Transformer = on-line document processing SAXParserFactory p a r s e r f a c t = SAXParserFactory newinstance ( ) ; XMLReader reader = p a r s e r f a c t newsaxparser ( ) getxmlreader ( ) ; TransformerFactory t f = TransformerFactory newinstance ( ) ; Transformer transformer = t f newtransformer ( ) ; XMLFilter f i l t e r = new A s s i s t a n t F i l t e r ( ) ; f i l t e r setparent ( reader ) ; InputSource doc = new InputSource ( args [ 0 ] ) ; Source src = new SAXSource ( f i l t e r, doc ) ; Result res = new StreamResult ( out xml ) ; transformer transform ( src, res ) ; Patryk Czarnik 10 Programming XML 2012/13 45 / 1

43 Support for XML-related standards Transformers Source, Result, and Transformers Source and Result universal wrappers for various Java representations of XML data Transformer translation between them Source DOMSource JAXBSource SAXSource StAXSource StreamSource Result DOMResult JAXBResult SAXResult StAXResult StreamResult SAAJResult Patryk Czarnik 10 Programming XML 2012/13 46 / 1

XML & Databases. Tutorial. 2. Parsing XML. Universität Konstanz. Database & Information Systems Group Prof. Marc H. Scholl

XML & Databases. Tutorial. 2. Parsing XML. Universität Konstanz. Database & Information Systems Group Prof. Marc H. Scholl XML & Databases Tutorial Christian Grün, Database & Information Systems Group University of, Winter 2007/08 DOM Document Object Model Idea mapping the whole XML document to main memory The XML Processor

More information

5 &2 ( )" " & 6 7 83-4 6& )9 2) " *

5 &2 ( )  & 6 7 83-4 6& )9 2)  * ! " #$%& 0 ) ( )" %+ %*,( )" -" ".. /+% ()( )" ' &2 34%* 5 &2 ( )" " & 6 7 83-4 6& )9 2) " * 1 6 5 75 6 5 75 %* %* 32 %,6,) 5 " )& 8 * 2-4;< 7)&%*2 : = 75 75 75 %* 32,) 5, 37 %,2-4;< 7)&%*2 ?7 7 (? A%

More information

Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3.

Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3. Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX Recuperación de Información 2007 Lecture 3. Overview XML-schema, a powerful alternative to DTDs XML APIs: DOM, a data-object

More information

Databases and Information Systems 2

Databases and Information Systems 2 Databases and Information Systems Storage models for XML trees in small main memory devices Long term goals: reduce memory compression (?) still query efficiently small data structures Databases and Information

More information

XML in Programming 2, Web services

XML in Programming 2, Web services XML in Programming 2, Web services Patryk Czarnik XML and Applications 2013/2014 Lecture 5 4.11.2013 Features of JAXP 3 models of XML documents in Java: DOM, SAX, StAX Formally JAXB is a separate specification

More information

XML Programming in Java

XML Programming in Java XML Programming in Java Leonidas Fegaras University of Texas at Arlington Web Databases and XML L6: XML Programming in Java 1 Java APIs for XML Processing DOM: a language-neutral interface for manipulating

More information

Java and XML parsing. EH2745 Lecture #8 Spring 2015. larsno@kth.se

Java and XML parsing. EH2745 Lecture #8 Spring 2015. larsno@kth.se Java and XML parsing EH2745 Lecture #8 Spring 2015 larsno@kth.se Lecture Outline Quick Review The XML language Parsing Files in Java Quick Review We have in the first set of Lectures covered the basics

More information

Structured Data and Visualization. Structured Data. Programming Language Support. Programming Language Support. Programming Language Support

Structured Data and Visualization. Structured Data. Programming Language Support. Programming Language Support. Programming Language Support Structured Data and Visualization Structured Data Programming Language Support Schemas become Types Xml docs become Values parsers and validators A language to describe the structure of documents A language

More information

Concrete uses of XML in software development and data analysis.

Concrete uses of XML in software development and data analysis. Concrete uses of XML in software development and data analysis. S. Patton LBNL, Berkeley, CA 94720, USA XML is now becoming an industry standard for data description and exchange. Despite this there are

More information

Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI

Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI Tony Ng, Staff Engineer Rahul Sharma, Senior Staff Engineer Sun Microsystems Inc. 1 J2EE Overview Tony Ng, Staff Engineer Sun Microsystems

More information

DataDirect XQuery Technical Overview

DataDirect XQuery Technical Overview DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4

More information

ASPIRE Programmable Language and Engine

ASPIRE Programmable Language and Engine ASPIRE Programmable Language and Engine Athens Information Technology Agenda ASPIRE Programmable Language (APDL) ASPIRE Programmable Engine (APE) 2 ASPIRE Programmable Language ASPIRE Programmable Language

More information

High Performance XML Data Retrieval

High Performance XML Data Retrieval High Performance XML Data Retrieval Mark V. Scardina Jinyu Wang Group Product Manager & XML Evangelist Oracle Corporation Senior Product Manager Oracle Corporation Agenda Why XPath for Data Retrieval?

More information

How To Write An Xml Document In Java (Java) (Java.Com) (For Free) (Programming) (Web) (Permanent) (Powerpoint) (Networking) (Html) (Procedure) (Lang

How To Write An Xml Document In Java (Java) (Java.Com) (For Free) (Programming) (Web) (Permanent) (Powerpoint) (Networking) (Html) (Procedure) (Lang XML and Java The Extensible Markup Language XML makes data portable Anders Møller & Michael I. Schwartzbach 2006 Addison-Wesley Underpinning for Web Related Computing fits well to Java, which makes code

More information

Java Web Services Training

Java Web Services Training Java Web Services Training Duration: 5 days Class Overview A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards

More information

by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000

by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000 Home Products Consulting Industries News About IBM by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000 Copyright IBM Corporation, 1999. All Rights Reserved. All trademarks or registered

More information

JAXB Tips and Tricks Part 2 Generating Java Classes from XML Schema. By Rob Ratcliff

JAXB Tips and Tricks Part 2 Generating Java Classes from XML Schema. By Rob Ratcliff JAXB Tips and Tricks Part 2 Generating Java Classes from XML Schema By Rob Ratcliff What is JAXB? Java Architecture for XML Binding Maps an XML Schema into Java Objects Experimental support for DTD, RelaxNG

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

XML nyelvek és alkalmazások

XML nyelvek és alkalmazások THE INTERNET,mapped on the opposite page, is a scalefree network in that XML nyelvek és alkalmazások XML kezelés Javaban dis.'~tj port,from THE INTERNET,mapped on the opposite page, is a scalefree network

More information

+ <xs:element name="productsubtype" type="xs:string" minoccurs="0"/>

+ <xs:element name=productsubtype type=xs:string minoccurs=0/> otcd.ntf.001.01.auctiondetail.. otcd.ntf.001.01.auctionresult - + otcd.ntf.001.01.automaticterminationsummary

More information

Data XML and XQuery A language that can combine and transform data

Data XML and XQuery A language that can combine and transform data Data XML and XQuery A language that can combine and transform data John de Longa Solutions Architect DataDirect technologies john.de.longa@datadirect.com Mobile +44 (0)7710 901501 Data integration through

More information

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE: Java WebService BENEFITS OF ATTENDANCE: PREREQUISITES: Upon completion of this course, students will be able to: Describe the interoperable web services architecture, including the roles of SOAP and WSDL.

More information

Modernize your NonStop COBOL Applications with XML Thunder September 29, 2009 Mike Bonham, TIC Software John Russell, Canam Software

Modernize your NonStop COBOL Applications with XML Thunder September 29, 2009 Mike Bonham, TIC Software John Russell, Canam Software Modernize your NonStop COBOL Applications with XML Thunder September 29, 2009 Mike Bonham, TIC Software John Russell, Canam Software Agenda XML Overview XML Thunder overview Case Studies Q & A XML Standard

More information

JVA-561. Developing SOAP Web Services in Java

JVA-561. Developing SOAP Web Services in Java JVA-561. Developing SOAP Web Services in Java Version 2.2 A comprehensive look at the state of the art in developing interoperable web services on the Java EE 6 platform. Students learn the key standards

More information

WEB SERVICES. Revised 9/29/2015

WEB SERVICES. Revised 9/29/2015 WEB SERVICES Revised 9/29/2015 This Page Intentionally Left Blank Table of Contents Web Services using WebLogic... 1 Developing Web Services on WebSphere... 2 Developing RESTful Services in Java v1.1...

More information

Can I Make XML Go Faster?

Can I Make XML Go Faster? Can I Make XML Go Faster? Presented to: Presented by: John Jay King King Training Resources john@kingtraining.com Download this paper from: Objectives Understand XML document processing Understand how

More information

Processing XML with Java A Performance Benchmark

Processing XML with Java A Performance Benchmark Processing XML with Java A Performance Benchmark Bruno Oliveira 1,Vasco Santos 1 and Orlando Belo 2 1 CIICESI, School of Management and Technology, Polytechnic of Porto Felgueiras, PORTUGAL {bmo,vsantos}@estgf.ipp.pt

More information

Oracle Java CAPS Message Library for EDIFACT User's Guide

Oracle Java CAPS Message Library for EDIFACT User's Guide Oracle Java CAPS Message Library for EDIFACT User's Guide Part No: 821 2607 March 2011 Copyright 2008, 2011, Oracle and/or its affiliates. All rights reserved. License Restrictions Warranty/Consequential

More information

Modern XML applications

Modern XML applications Modern XML applications XML in electronic data interchange, application integration and databases Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management

More information

JAXB: Binding between XML Schema and Java Classes

JAXB: Binding between XML Schema and Java Classes JAXB: Binding between XML Schema and Java Classes Asst. Prof. Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University Agenda JAXB Architecture Representing XML

More information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. [MS-EDCSOM]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

N CYCLES software solutions. XML White Paper. Where XML Fits in Enterprise Applications. May 2001

N CYCLES software solutions. XML White Paper. Where XML Fits in Enterprise Applications. May 2001 N CYCLES software solutions White Paper Where Fits in Enterprise Applications May 2001 65 Germantown Court 1616 West Gate Circle Suite 205 Nashville, TN 37027 Cordova, TN 38125 Phone 901-756-2705 Phone

More information

Smooks Dev Tools Reference Guide. Version: 1.1.0.GA

Smooks Dev Tools Reference Guide. Version: 1.1.0.GA Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2

More information

Developing Java Web Services

Developing Java Web Services Page 1 of 5 Developing Java Web Services Hands On 35 Hours Online 5 Days In-Classroom A comprehensive look at the state of the art in developing interoperable web services on the Java EE platform. Students

More information

Extending XSLT with Java and C#

Extending XSLT with Java and C# Extending XSLT with Java and C# The world is not perfect. If it were, all data you have to process would be in XML and the only transformation language you would have to learn would XSLT. Because the world

More information

Tutorial for Creating Resources in Java - Client

Tutorial for Creating Resources in Java - Client Tutorial for Creating Resources in Java - Client Overview Overview 1. Preparation 2. Creation of Eclipse Plug-ins 2.1 The flight plugin 2.2 The plugin fragment for unit tests 3. Create an integration test

More information

Abstract Business Process Monitoring

Abstract Business Process Monitoring Institut für Architektur von Anwendungssystemen (IAAS) Universität Stuttgart Universitätsstraße 38 D - 70569 Stuttgart Studienarbeit Nr. 2316 Abstract Business Process Monitoring Sumadi Lie Studiengang:

More information

Developing XML Solutions with JavaServer Pages Technology

Developing XML Solutions with JavaServer Pages Technology Developing XML Solutions with JavaServer Pages Technology XML (extensible Markup Language) is a set of syntax rules and guidelines for defining text-based markup languages. XML languages have a number

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

Fast Infoset & Fast Web Services. Paul Sandoz Staff Engineer Sun Microsystems

Fast Infoset & Fast Web Services. Paul Sandoz Staff Engineer Sun Microsystems Fast Infoset & Fast Web Services Paul Sandoz Staff Engineer Sun Microsystems New standards on the way Two new specifications will go for Consent to Last Call in Moscow Fast Infoset ITU-T Rec. X.891 ISO/IEC

More information

rpafi/jl open source Apache Axis2 Web Services 2nd Edition using Apache Axis2 Deepal Jayasinghe Create secure, reliable, and easy-to-use web services

rpafi/jl open source Apache Axis2 Web Services 2nd Edition using Apache Axis2 Deepal Jayasinghe Create secure, reliable, and easy-to-use web services Apache Axis2 Web Services 2nd Edition Create secure, reliable, and easy-to-use web services using Apache Axis2 Deepal Jayasinghe Afkham Azeez v.? w rpafi/jl open source I I I I community experience distilled

More information

Technologies for a CERIF XML based CRIS

Technologies for a CERIF XML based CRIS Technologies for a CERIF XML based CRIS Stefan Bärisch GESIS-IZ, Bonn, Germany Abstract The use of XML as a primary storage format as opposed to data exchange raises a number of questions regarding the

More information

Integrating XACML into JAX-WS and WSIT

Integrating XACML into JAX-WS and WSIT Integrating XACML into JAX-WS and WSIT Prof. Dr. Eric Dubuis Berner Fachhochschule Biel May 25, 2012 Overview Problem and Motivation Enforcing the Access Policy JAX-WS Handler Framework WSIT Validators

More information

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved.

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved. CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved. Opening Night Course Overview Perspective Business

More information

User manual for e-line DNB: the XML import file. User manual for e-line DNB: the XML import file

User manual for e-line DNB: the XML import file. User manual for e-line DNB: the XML import file User manual for e-line DNB: the XML import file version 1.2 dated 19 February 2015 1 1. Contents 1. Contents... 2 2. e-line DNB... 3 2.1 Submitting your reports to De Nederlandsche Bank... 3 2.3 Entering

More information

PHP Oracle Web Development Data Processing, Security, Caching, XML, Web Services and AJAX

PHP Oracle Web Development Data Processing, Security, Caching, XML, Web Services and AJAX PHP Oracle Web Development Data Processing, Security, Caching, XML, Web Services and AJAX Yuli Vasiliev Chapter 8 "XML-Enabled Applications" In this package, you will find: A Biography of the author of

More information

MarkLogic Server. Java Application Developer s Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Java Application Developer s Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved. Java Application Developer s Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-3, June, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Java Application

More information

Extracting data from XML. Wednesday DTL

Extracting data from XML. Wednesday DTL Extracting data from XML Wednesday DTL Parsing - XML package 2 basic models - DOM & SAX Document Object Model (DOM) Tree stored internally as C, or as regular R objects Use XPath to query nodes of interest,

More information

Model-driven Rule-based Mediation in XML Data Exchange

Model-driven Rule-based Mediation in XML Data Exchange Model-driven Rule-based Mediation in XML Data Exchange Yongxin Liao, Dumitru Roman, Arne J. Berre SINTEF ICT, Oslo, Norway October 5, 2010 ICT 1 Outline Intro to XML Data Exchange FloraMap: Flora2-based

More information

An XML Based Data Exchange Model for Power System Studies

An XML Based Data Exchange Model for Power System Studies ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical

More information

DocuSign Connect Guide

DocuSign Connect Guide Information Guide 1 DocuSign Connect Guide 2 Copyright 2003-2014 DocuSign, Inc. All rights reserved. For information about DocuSign trademarks, copyrights and patents refer to the DocuSign Intellectual

More information

Web services payment systems. Master Thesis Technical University of Denmark

Web services payment systems. Master Thesis Technical University of Denmark Master Thesis Technical University of Denmark Submitted by Mike Andreasen 31.12.2003 Contents Preface... 5 Introduction... 6 State of the art... 7 Distributed computing evolution... 7 Introduction to XML...

More information

"Modern" XML applications

Modern XML applications "Modern" XML applications XML in electronic data interchange, application integration and databases Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management

More information

An Empirical Study on XML Schema Idiosyncrasies in Big Data Processing

An Empirical Study on XML Schema Idiosyncrasies in Big Data Processing An Empirical Study on XML Schema Idiosyncrasies in Big Data Processing Dmitry Vasilenko, Mahesh Kurapati Business Analytics, IBM, Chicago, USA {dvasilen, mkurapati}@us.ibm.com Abstract The design and maintenance

More information

DRAFT. Standard Definition. Extensible Event Stream. Christian W. Günther Fluxicon Process Laboratories christian@fluxicon.com

DRAFT. Standard Definition. Extensible Event Stream. Christian W. Günther Fluxicon Process Laboratories christian@fluxicon.com Extensible Event Stream Standard Definition Christian W. Günther Fluxicon Process Laboratories christian@fluxicon.com XES Version: 1.0 Revision: 1 November 25, 2009 DRAFT Introduction Event logs, as they

More information

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013 Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper

More information

Responders: Language Support for Interactive Applications

Responders: Language Support for Interactive Applications Responders: Language Support for Interactive Applications Brian Chin and Todd Millstein University of California, Los Angeles {naerbnic, todd@cs.ucla.edu Abstract. A variety of application domains are

More information

JDOM Overview. Application development with XML and Java. Application Development with XML and Java. JDOM Philosophy. JDOM and Sun

JDOM Overview. Application development with XML and Java. Application Development with XML and Java. JDOM Philosophy. JDOM and Sun JDOM Overview Application Development with XML and Java Lecture 7 XML Parsing JDOM JDOM: Java Package for easily reading and building XML documents. Created by two programmers: Brett McLaughlin and Jason

More information

D4.1.2 Cloud-based Data Storage (Prototype II)

D4.1.2 Cloud-based Data Storage (Prototype II) < ADVENTURE WP 4 D4.1.2 Cloud-based Data Storage (Prototype II) D4.1.2 Cloud-based Data Storage (Prototype II) Authors: ASC, TUDA Delivery Date: 2013-10-01 Due Date: 2013-08-31 Dissemination Level: PU

More information

Session Topic. Session Objectives. Extreme Java G22.3033-007. XML Data Processing for Java MOM and POP Applications

Session Topic. Session Objectives. Extreme Java G22.3033-007. XML Data Processing for Java MOM and POP Applications Extreme Java G22.3033-007 Session 3 - Sub-Topic 4 XML Data Processing for Java MOM & POP Applications Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

Gplus Adapter 8.0. for Siebel CRM. Developer s Guide

Gplus Adapter 8.0. for Siebel CRM. Developer s Guide Gplus Adapter 8.0 for Siebel CRM Developer s Guide The information contained herein is proprietary and confidential and cannot be disclosed or duplicated without the prior written consent of Genesys Telecommunications

More information

CHAPTER 9: DATAPORT AND XMLPORT CHANGES

CHAPTER 9: DATAPORT AND XMLPORT CHANGES Chapter 9: Dataport and XMLport Changes CHAPTER 9: DATAPORT AND XMLPORT CHANGES Objectives Introduction The objectives are: Provide an overview of dataport changes. Discuss changes in XMLport object and

More information

XML- New meta language in e-business

XML- New meta language in e-business 1 XML- New meta language in e-business XML (extensible Markup Language) has established itself as a new meta language in e-business. No matter what, text, pictures, video- or audio files - with the flexibility

More information

Design Patterns in Parsing

Design Patterns in Parsing Abstract Axel T. Schreiner Department of Computer Science Rochester Institute of Technology 102 Lomb Memorial Drive Rochester NY 14623-5608 USA ats@cs.rit.edu Design Patterns in Parsing James E. Heliotis

More information

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini XIII. Service Oriented Computing Laurea Triennale in Informatica Corso di Outline Enterprise Application Integration (EAI) and B2B applications Service Oriented Architecture Web Services WS technologies

More information

Towards XML-based Network Management for IP Networks

Towards XML-based Network Management for IP Networks Towards XML-based Network Management for IP Networks Mi-Jung Choi*, Yun-Jung Oh*, Hong-Taek Ju**, and Won-Ki Hong* * Dept. of Computer Science and Engineering, POSTECH, Korea ** Dept. of Computer Engineering,

More information

XML Parsing and Web Services Seminar Enterprise Computing

XML Parsing and Web Services Seminar Enterprise Computing Seminar Enterprise Computing Winter Term 2004/05 University of Applied Sciences, Aargau Faculty of Engineering and Technology Author: Siarhei Sirotkin Scientic Adviser: Prof. Dr. Dominik Gruntz Windisch,

More information

XML Programming with PHP and Ajax

XML Programming with PHP and Ajax http://www.db2mag.com/story/showarticle.jhtml;jsessionid=bgwvbccenyvw2qsndlpskh0cjunn2jvn?articleid=191600027 XML Programming with PHP and Ajax By Hardeep Singh Your knowledge of popular programming languages

More information

CS 378 Big Data Programming. Lecture 9 Complex Writable Types

CS 378 Big Data Programming. Lecture 9 Complex Writable Types CS 378 Big Data Programming Lecture 9 Complex Writable Types Review Assignment 4 - CustomWritable QuesIons/issues? Hadoop Provided Writables We ve used several Hadoop Writable classes Text LongWritable

More information

JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL)

JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL) JAX-WS JAX-WS - Java API for XML Web Services JAVA API FOR XML WEB SERVICES INTRODUCTION TO JAX-WS, THE JAVA API FOR XML BASED WEB SERVICES (SOAP, WSDL) Peter R. Egli INDIGOO.COM 1/20 Contents 1. What

More information

Introduction to XML Applications

Introduction to XML Applications EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for

More information

[MS-FSDAP]: Forms Services Design and Activation Web Service Protocol

[MS-FSDAP]: Forms Services Design and Activation Web Service Protocol [MS-FSDAP]: Forms Services Design and Activation Web Service Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications

More information

APM for Java. AppDynamics Pro Documentation. Version 4.0.x. Page 1

APM for Java. AppDynamics Pro Documentation. Version 4.0.x. Page 1 APM for Java AppDynamics Pro Documentation Version 4.0.x Page 1 APM for Java............................................................ 4 Configure Java Monitoring................................................

More information

The Forger s Art Exploiting XML Digital Signature Implementations HITB 2013

The Forger s Art Exploiting XML Digital Signature Implementations HITB 2013 The Forger s Art Exploiting XML Digital Signature Implementations HITB 2013 James Forshaw (@tiraniddo) Research. Response. Assurance. @CTXIS What am I going to talk about? XML Digital Signature Implementations

More information

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR-603203 DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR-603203 DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR-603203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK V SEMESTER MCA SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE PART A UNIT I 1. What is

More information

JavaScript: Client-Side Scripting. Chapter 6

JavaScript: Client-Side Scripting. Chapter 6 JavaScript: Client-Side Scripting Chapter 6 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web http://www.funwebdev.com Development Section 1 of 8 WHAT IS JAVASCRIPT

More information

"Modern" XML applications

Modern XML applications "Modern" XML applications XML in electronic data interchange, application integration and databases Patryk Czarnik Institute of Informatics University of Warsaw XML and Modern Techniques of Content Management

More information

Logging in Java Applications

Logging in Java Applications Logging in Java Applications Logging provides a way to capture information about the operation of an application. Once captured, the information can be used for many purposes, but it is particularly useful

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

J a v a Quiz (Unit 3, Test 0 Practice)

J a v a Quiz (Unit 3, Test 0 Practice) Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

More information

www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk

www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling

More information

JAVA r VOLUME II-ADVANCED FEATURES. e^i v it;

JAVA r VOLUME II-ADVANCED FEATURES. e^i v it; ..ui. : ' :>' JAVA r VOLUME II-ADVANCED FEATURES EIGHTH EDITION 'r.", -*U'.- I' -J L."'.!'.;._ ii-.ni CAY S. HORSTMANN GARY CORNELL It.. 1 rlli!>*-

More information

Firewall Builder Architecture Overview

Firewall Builder Architecture Overview Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.

More information

Using Object And Object-Oriented Technologies for XML-native Database Systems

Using Object And Object-Oriented Technologies for XML-native Database Systems Using Object And Object-Oriented Technologies for XML-native Database Systems David Toth and Michal Valenta David Toth and Michal Valenta Dept. of Computer Science and Engineering Dept. FEE, of Computer

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, inemedi@ie.ase.ro Writing a custom web

More information

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition. "( JAVA. EXAMPLES IN A NUTSHELL Third Edition David Flanagan O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Preface xi Parti. Learning Java 1. Java Basics 3 Hello

More information

BACHELOR S THESIS. Roman Betík XML Data Visualization

BACHELOR S THESIS. Roman Betík XML Data Visualization Charles University in Prague Faculty of Mathematics and Physics BACHELOR S THESIS Roman Betík XML Data Visualization Department of Software Engineering Supervisor: RNDr. Irena Mlýnková, Ph.D. Study program:

More information

ETL Systems; XML Processing in PHP

ETL Systems; XML Processing in PHP ETL Systems; XML Processing in PHP May 11, 2013 1 ETL - principles, applications, tools 1.1 ETL: Extract-Transform-Load Extract-Transform-Load (ETL) are data integration practices and tools: Extract data-mining

More information

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner 1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi

More information

Aspects of using Hibernate with CaptainCasa Enterprise Client

Aspects of using Hibernate with CaptainCasa Enterprise Client Aspects of using Hibernate with CaptainCasa Enterprise Client We all know: there are a lot of frameworks that deal with persistence in the Java environment one of them being Hibernate. And there are a

More information

ADF Code Corner. 66. How-to color-highlight the bar in a graph that represents the current row in the collection. Abstract: twitter.

ADF Code Corner. 66. How-to color-highlight the bar in a graph that represents the current row in the collection. Abstract: twitter. ADF Code Corner 66. How-to color-highlight the bar in a graph that represents in the collection Abstract: An ADF Faces Data Visualization Tools (DVT) graphs can be configured to change in the underlying

More information

Master of Sciences in Informatics Engineering Programming Paradigms 2005/2006. Final Examination. January 24 th, 2006

Master of Sciences in Informatics Engineering Programming Paradigms 2005/2006. Final Examination. January 24 th, 2006 Master of Sciences in Informatics Engineering Programming Paradigms 2005/2006 Final Examination January 24 th, 2006 NAME: Please read all instructions carefully before start answering. The exam will be

More information

10CS73:Web Programming

10CS73:Web Programming 10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server

More information

How to secure your Apache Camel deployment

How to secure your Apache Camel deployment How to secure your Apache Camel deployment Jonathan Anstey Principal Engineer FuseSource 1 Your Presenter is: Jonathan Anstey Principal Software Engineer at FuseSource http://fusesource.com Apache Camel

More information

The end. Carl Nettelblad 2015-06-04

The end. Carl Nettelblad 2015-06-04 The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan

More information

e ag u g an L g ter lvin v E ram Neal G g ro va P Ja

e ag u g an L g ter lvin v E ram Neal G g ro va P Ja Evolving the Java Programming Language Neal Gafter Overview The Challenge of Evolving a Language Design Principles Design Goals JDK7 and JDK8 Challenge: Evolving a Language What is it like trying to extend

More information

Invited Expert on XForms and HTML Working Group

Invited Expert on XForms and HTML Working Group Author: Mark Birbeck CEO and CTO x-port.net Ltd. Invited Expert on XForms and HTML Working Group mailto:mark.birbeck@x-port.net http://www.x-port.net/ http://www.formsplayer.com/ Introduction We need to

More information

Serializing Data with Protocol Buffers. Vinicius Vielmo Cogo Smalltalks, DI, FC/UL. February 12, 2014.

Serializing Data with Protocol Buffers. Vinicius Vielmo Cogo Smalltalks, DI, FC/UL. February 12, 2014. Serializing Data with Protocol Buffers Vinicius Vielmo Cogo Smalltalks, DI, FC/UL. February 12, 2014. Problem statement App2 App1 Storage 2 / 19 Problem statement App2 App1 Correct object Efficient (time

More information