COMP9321 Web Application Engineering

Similar documents
COMP9321 Web Application Engineering. Extensible Markup Language (XML)

COMP9321 Web Application Engineering

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

Chapter 1: Getting Started. You will learn:

The XML Metalanguage

Introduction to XML. XML: basic elements

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML. Objectives. Duration. Audience. Pre-Requisites

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

11. EXTENSIBLE MARKUP LANGUAGE (XML)

COMP9321 Web Application Engineering

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

COMP9321 Web Application Engineering

XML. Jonathan Geisler. April 18, 2008

XML: Extensible Markup Language


Data Exchange. Hyper-Text Markup Language. Contents: HTML Sample. HTML Motivation. Cascading Style Sheets (CSS) Problems w/html

The concept of DTD. DTD(Document Type Definition) Why we need DTD

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

M359 Block5 - Lecture12 Eng/ Waleed Omar

XML Metadata Standards and Topic Maps

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University

Structured documents

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

B.V.Patel Institute of Business Management, Computer & Information Technology, UTU

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

CSS, Cascading Style Sheets

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications

Web Technologies Present and Future of XML

COMP9321 Web Application Engineering

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

SRI VIDYA COLLEGE OF ENGINEERING & TECHNOLOGY- VIRUDHUNAGAR

W3C XML XML Overview

The main Topics in this lecture are:

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

Data Presentation and Markup Languages

extensible Markup Language

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Chapter 13 XML: Extensible Markup Language

XML: Managing with the Java Platform

Introduction to XML. M2 MIA, Grenoble Université. François Faure

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Introduction to XML 3/14/12. Introduction to XML

AIM. 10 September

KINGS COLLEGE OF ENGINEERING 1

Introduction p. 1 An XML Primer p. 5 History of XML p. 6 Benefits of XML p. 11 Components of XML p. 12 BNF Grammar p. 14 Prolog p. 15 Elements p.

Introduction to XML. An Example XML Document. The following is a very simple XML document.

Programming with XML in the Microsoft.NET Framework

What is XML? XML is designed to transport and store data.

XML Primer Plus By Nicholas Chase

XML. extensible Markup Language. Overview. Overview. Overview XML Components Document Type Definition (DTD) Attributes and Tags An XML schema

1.264 Lecture 13 XML

COPYRIGHTED MATERIAL. Contents. Part I: Introduction 1. Chapter 1: What Is XML? 3. Chapter 2: Well-Formed XML 23. Acknowledgments

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

Publishing Technology 101 A Journal Publishing Primer. Mike Hepp Director, Technology Strategy Dartmouth Journal Services

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Contents. Markup Language and the need of XML. Using environment XML and growth direction. To understand dxml standard.

Author: Irena Holubová Lecturer: Martin Svoboda

Agenda. XML Generics. XML for Java Developers G Session 1 - Main Theme Markup Language Technologies (Part I)

XML. extensible Markup Language. ... and its usefulness for linguists

~ Ian Hunneybell: DIA Revision Notes ~

XML Update. Royal Society of the Arts London, December 8, Jon Bosak Sun Microsystems

XML 2 APPLICATION. Chapter SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC.

XML & Related Languages

Web Programming Paper Solution (Chapter wise)

- XML. - DTDs - XML Schema - XSLT. Web Services. - Well-formedness is a REQUIRED check on XML documents

Java EE 7: Back-end Server Application Development 4-2

Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa

IBM. XML and Related Technologies Dumps Braindumps Real Questions Practice Test dumps free

Introduction to Semistructured Data and XML. Overview. How the Web is Today. Based on slides by Dan Suciu University of Washington

XML. Presented by : Guerreiro João Thanh Truong Cong

Chapter 2 XML, XML Schema, XSLT, and XPath

COPYRIGHTED MATERIAL. Introduction to XML

SDPL : XML Basics 2. SDPL : XML Basics 1. SDPL : XML Basics 4. SDPL : XML Basics 3. SDPL : XML Basics 5

Intro to XML. Borrowed, with author s permission, from:

2009 Martin v. Löwis. Data-centric XML. XML Syntax

CS6501 IP Unit IV Page 1

Computer Science E-75 Building Dynamic Websites

XML: some structural principles

Solutions. a. Yes b. No c. Cannot be determined without the DTD. d. Schema. 9. Explain the term extensible. 10. What is an attribute?

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY. (An NBA Accredited Programme) ACADEMIC YEAR / EVEN SEMESTER

HTML and XML. XML stands for extensible Markup Language

XML: and related technologies

Manipulating XML Trees XPath and XSLT. CS 431 February 18, 2008 Carl Lagoze Cornell University

Introduction to XML. University of California, Santa Cruz Extension Computer and Information Technology

Agenda. Summary of Previous Session. XML for Java Developers G Session 7 - Main Theme XML Information Rendering (Part II)

Jdom Interest Schema Validation Example

Outline. XML vs. HTML and Well Formed vs. Valid. XML Overview. CSC309 Tutorial --XML 4. Edward Xia

Agenda. Summary of Previous Session. XML for Java Developers G Session 6 - Main Theme XML Information Processing (Part II)

User Interaction: XML and JSON

YaPPI Yet another Particle Property Interface

IT6503 WEB PROGRAMMING. Unit-I

XML. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

XML Technologies. Doc. RNDr. Irena Holubova, Ph.D. Web pages:

Shankersinh Vaghela Bapu Institue of Technology

Chapter 1: Semistructured Data Management XML

XML for Java Developers G Session 3 - Main Theme XML Information Modeling (Part I) Dr. Jean-Claude Franchitti

Transcription:

COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1

Extensible Markup Language (XML) XML is a markup language much like HTML HTML: HTML was designed to display data. HTML tags are not predefined. XML: XML was designed to describe data. XML tags are not predefined. XML is designed to be self-descriptive XML is a W3C Recommendation XML is derived from SGML (ISO 8879). (Standard Generalized Markup Language) is a standard for how to specify a document markup language or tag set. 2

Extensible Markup Language (XML) XML originally designed to meet the challenges of large-scale electronic publishing. XML separates presentation issues from the actual data. XML plays an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere. Needs a communication protocol? e.g. SOAP stands for Simple Object Access Protocol SOAP is based on XML SOAP is a W3C recommendation SOAP uses XML Information Set for its message format. 3

Extensible Markup Language (XML) 4

XML: Tags, tags Consider the following snippet of information from a staff list: 5

Why XML? 6

Why XML? 7

Separating the Content from Presentation HTML was designed to display data. CSS: Cascading Style Sheets CSS defines how HTML elements are to be displayed All formatting could be removed from the HTML document, and stored in a separate CSS file. XML was designed to describe data. 8

Separating the Content from Presentation 9

XML Applications 10

XML Applications RSS : Really Simple Syndication With RSS it is possible to distribute up-to-date web content from one web site to thousands of other web sites around the world. RSS is written in XML RSS allows you to syndicate your site content RSS defines an easy way to share and view headlines and content RSS files can be automatically updated RSS allows personalized views for different sites RSS is useful for web sites that are updated frequently, like: e.g. News sites, Companies, and Calendars. Without RSS, users will have to check your site daily for new updates. 11

XML Applications RSS : Really Simple Syndication With RSS it is possible to distribute up-to-date web content from one web site to thousands of other web sites around the world. RSS is written in XML RSS allows you to syndicate your site content RSS defines an easy way to share and view headlines and content RSS files can be automatically updated RSS allows personalized views for different sites RSS is useful for web sites that are updated frequently, like: e.g. News sites, Companies, and Calendars. Without RSS, users will have to check your site daily for new updates. 12

XML is 13

Quick XML syntax 14

The XML Family XML: a markup language used to describe information. 15

The XML Family XML: a markup language used to describe information. DOM: XML DOM defines a standard for accessing and manipulating XML documents. The DOM presents an XML document as a tree-structure. The DOM is a W3C standard. The DOM is separated into 3 different parts / levels: Core DOM - standard model for any structured document XML DOM - standard model for XML documents A standard object model for XML A standard programming interface for XML Platform- and language-independent HTML DOM - standard model for HTML documents 16

The XML Family XML: a markup language used to describe information. DOM: XML DOM defines a standard for accessing and manipulating XML documents. The DOM presents an XML document as a tree-structure. The DOM is a W3C standard. The DOM is separated into 3 different parts / levels: Core DOM - standard model for any structured document XML DOM - standard model for XML documents A standard object model for XML A standard programming interface for XML Platform- and language-independent HTML DOM - standard model for HTML documents 17

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. DTD: A Document Type Definition (DTD) defines the structure and the legal elements and attributes of an XML document. from a DTD point of view, all XML documents are made up by the following building blocks: Elements: <student> </student> Attributes: <student id= 50001 > </student> Entity References: < > & " &apos; The character data inside an element must not contain certain characters with special meanings (e.g., < means start of a tag). You must escape the characters using entity references <image source='koala.gif' width='122' height='66' alt = 'Powered by O&apos;Reilly Books' /> 18

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. DTD: A Document Type Definition (DTD) defines the structure and the legal elements and attributes of an XML document. from a DTD point of view, all XML documents are made up by the following building blocks: Elements: <student> </student> Attributes: <student id= 50001 > </student> Entities: < > & " &apos; PCDATA (Parsed Character DATA): is the text that WILL be parsed by a parser. CDATA (character data) is text that will NOT be parsed by a parser. Tags inside the text will NOT be treated as markup and entities will not be expanded. 19

Phonebook.xml with Internal DTD 20

Phonebook.xml with External DTD. Phonebook.dtd 21

CDATA Section 22

Defining XML Content: Elements 23

Defining XML Content: Modifiers 24

Defining XML Content: Choices, Empty 25

Defining XML Content: Mixed content, Any 26

Defining XML Content: Creating Attributes 27

Defining XML Content: Creating Attributes 28

XML Custom Entities 29

Parameter Entities 30

Well-formedness and Validity of XML 31

Limitations of DTD 32

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. XML Schema: is an XML-based alternative to DTD. describes the structure of an XML document. defines elements and attributes that can appear in a document defines data types for elements and attributes defines default and fixed values for elements and attributes defines the child elements, their orders, etc. XML Schemas are much more powerful than DTDs. The XML Schema language is also referred to as XML Schema Definition (XSD). 33

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. XML Schema: XML Schema - W3C's recommendation for replacing DTD with features such as: Simple and complex data types Type derivation and inheritance Namespace-aware element and attributes Limits on number of appearances by an element Combining with regular expressions for finer control over document structure Most importantly, XML Schemas are well-formed XML documents themselves. But first, what is a namespace? 34

XML Namespaces 35

XML Namespaces (example) 36

XML Namespaces 37

Previous examples can now be... 38

XML Namespace Syntax 39

XML Schema Definition (XSD) a recommendation of the World Wide Web Consortium (W3C) specifies how to formally describe the elements in an Extensible Markup Language (XML) document. 40

Simple Types 41

Attributes 42

Type Restrictions 43

Complex Types 44

Complex Types 45

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. DTD and XML Schema: describes the structure and content of XML documents. XSLT: XSL stands for extensible Stylesheet Language, and is a style sheet language for XML documents. CSS = Style Sheets for HTML XSL = Style Sheets for XML XSL describes how the XML document should be displayed! XSLT (XSL Transformations) a language for transforming XML documents. 46

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. DTD and XML Schema: describes the structure and content of XML documents. XSLT: a language for transforming XML documents 47

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. DTD and XML Schema: describes the structure and content of XML documents. XSLT: a language for transforming XML documents XPath: XPath (XML Path language) is a language for finding information in an XML document. XPath contains a library of standard functions XPath is a major element in XSLT XPath is also used in XQuery, XPointer and XLink XPath is a W3C recommendation 48

The XML Family XML: <?xml a version="1.0" markup language.> used to describe some XPath information. expressions: <comp9321_students> DOM: a programming interface for accessing and updating documents. <student> /comp9321_student/student[1] DTD <id>50001</id> and XML Schema: describes the Selects structure the first and student content element of XML that documents. is the child XSLT: <name>adam a language B.</name> for transforming XML of the documents comp9321_student element XPath: <program>8543</program> XPath <stage>1</stage> (XML Path language) is a language /comp9321_student/student[last()] for finding information in an XML </student> document. Selects the last student element that is the child of the comp9321_student element <student> XPath contains a library of standard functions XPath <id>50002</id> is a major element in XSLT /comp9321_student/student[position()<3] XPath <name>alex is also C.</name> used in XQuery, XPointer Selects the and first XLink two student element that is the <program>3978</program> XPath is a W3C recommendation child of the comp9321_student element <stage>3</stage> </student> /comp9321_student/student[stage>2] </comp9321_students> Selects all the student elements of the comp9321_student element that have a stage element with a value greater than 2. 49

The XML Family XML: a markup language used to describe information. DOM: a programming interface for accessing and updating documents. DTD and XML Schema: describes the structure and content of XML documents. XSLT: a language for transforming XML documents XPath: a query language for navigating XML documents. XPointer: for identifying fragments of a document. XLink: generalises the concept of a hypertext link. XInclude: for merging documents. XQuery: a language for making queries across documents. RDF: a language for describing resources. 50

An XML document is a tree... 51

Attributes in XML tags 52

Attributes in XML tags 53

Parsing XML documents with Java 54

Parsing XML documents with Java 55

SAX and DOM as the Standard Interfaces 56

Document Object Model (DOM) 57

Dealing with Nodes in DOM 58

An example XML here... 59

DOM for XML 60

Using a DOM Parser (eg., Apache Xerces) 61

Document Interface Methods 62

Examples of Node Properties (XML), p.9.25 63

Count/Print the number of 'book' elements 64

Dealing with Nodes in DOM 65

Dealing with Nodes 66

The Element interface 67

More with DOM... 68

References http://www.w3.org/xml/ XML in a nutshell, Chapters 9 and 10 http://www.ibm.com/developerworks/library/xml-schema/ http://www.w3schools.com/xml/ Some examples in these notes are originated from Dr. David Edmond from QUT, Brisbane 69

70