Xml 215-presentation


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Xml 215-presentation

  1. 1. eXtensible Markup Language (XML) By: Albert Beng Kiat Tan Ayzer Mungan Edwin Hendriadi
  2. 2. Outline of Presentation Introduction Comparison between XML and HTML XML Syntax XML Queries and Mediators Challenges Summary
  3. 3. What is XML? eXtensible Markup Language Markup language for documents containing structured information Defined by four specifications:  XML, the Extensible Markup Language  XLL, the Extensible Linking Language  XSL, the Extensible Style Language  XUA, the XML User Agent
  4. 4. XML…. Based on Standard Generalized Markup Language (SGML) Version 1.0 introduced by World Wide Web Consortium (W3C) in 1998 Bridge for data exchange on the Web
  5. 5. Comparisons XML HTML Extensible set of tags  Fixed set of tags Content orientated  Presentation oriented Standard Data  No data validation infrastructure capabilities Allows multiple  Single presentation output forms
  6. 6. Authoring XML Elements An XML element is made up of a start tag, an end tag, and data in between. Example: <director> Matthew Dunn </director> Example of another element with the same value: <actor> Matthew Dunn </actor> XML tags are case-sensitive: <CITY> <City> <city> XML can abbreviate empty elements, for example: <married> </married> can be abbreviated to <married/>
  7. 7. Authoring XMLElements (cont’d) An attribute is a name-value pair separated by an equal sign (=). Example: <City ZIP=“94608”> Emeryville </City> Attributes are used to attach additional, secondary information to an element.
  8. 8. Authoring XML Documents A basic XML document is an XML element that can, but might not, include nested XML elements. Example: <books> <book isbn=“123”> <title> Second Chance </title> <author> Matthew Dunn </author> </book> </books>
  9. 9. XML Data Model: Example<BOOKS><book id=“123” BOOKS loc=“library”> book loc=“library” article <author>Hull</author> <title>California</title> ref 123 555 <year> 1995 </year></book> author year author title<article id=“555” title ref=“123”> <author>Su</author> Hull 1995 Su Purdue <title> Purdue</title> California</article></BOOKS>
  10. 10. Authoring XMLDocuments (cont’d) Authoring guidelines:  All elements must have an end tag.  All elements must be cleanly nested (overlapping elements are not allowed).  All attribute values must be enclosed in quotation marks.  Each document must have a unique first element, the root node.
  11. 11. Authoring XML DataIslands A data island is an XML document that exists within an HTML page. The <XML> element marks the beginning of the data island, and its ID attribute provides a name that you can use to reference the data island.
  12. 12. Authoring XML DataIslands (cont’d) Example: <XML ID=“XMLID”> <customer> <name> Mark Hanson </name> <custID> 29085 </custID> </customer> </XML>
  13. 13. Document Type Definitions (DTD) An XML document may have an optional DTD. DTD serves as grammar for the underlying XML document, and it is part of XML language. DTDs are somewhat unsatisfactory, but no consensus exists so far beyond the basic DTDs. DTD has the form: <!DOCTYPE name [markupdeclaration]>
  14. 14. DTD (cont’d)Consider an XML document:<db><person><name>Alan</name> <age>42</age> <email>agb@usa.net </email> </person> <person>………</person> ……….</db>
  15. 15. DTD (cont’d) DTD for it might be: <!DOCTYPE db [ <!ELEMENT db (person*)> <!ELEMENT person (name, age, email)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT email (#PCDATA)> ]>
  16. 16. DTD (cont’d)Occurrence Indicator:Indicator Occurrence(no indicator) Required One and only one? Optional None or one* Optional, None, one, or repeatable more+ Required, One or more repeatable
  17. 17. XML Query Languages The first XML query languages  LOREL (Stanford)  XQL Several other query languages have been developed (e.g. UNQL, XPath) XML-QL considered by W3C for standardization Currently W3C is considering and working on a new query language: XQuery
  18. 18. A Query Language for XML: XML-QL Developed at AT&T labs To extract data from the input XML data Has variables to which data is bound and templates which show how the output XML data is to be constructed Uses the XML syntax Based on a where/construct syntax  Where combines from and where parts of SQL  Construct corresponds to SQL’s select
  19. 19. XML-QL Query: Example 1 Retrieve all authors of books published by Morgan Kaufmann: where <book> <publisher><name> Morgan Kaufmann </name> </publisher> <title> $T </title> <author> $A </author> </book> in “www.a.b.c/bib.xml” construct <result> $A </result>
  20. 20. XML-QL Query: Example 2 XML-QL query asking for all bookstores that sell The Java Programming Language for under $25:where <store> <name> $N </name> <book> <title> The Java Programming Language </title> <price> $P </price> </book> </store> in “www.store/bib.xml” $P < 25construct <result> $N </result>
  21. 21. Semistructured Data andMediators Semistructured data is often encountered in data exchange and integration At the sources the data may be structured (e.g. from relational databases) We model the data as semistructured to facilitate exchange and integration Users see an integrated semistructured view that they can query Queries are eventually reformulated into queries over the structured resources (e.g. SQL) Only results need to be materialized
  22. 22. What is a mediator ? A complex software component that integrates and transforms data from one or several sources using a declarative specification Two main contexts:  Data conversion: converts data between two different models  e.g. by translating data from a relational database into XML  Data integration: integrates data from different sources into a common view
  23. 23. Converting RelationalDatabase to XMLExample: Export the following data into XML and group books by store Relational Database: Store (sid, name, phone) Book (bid, title, authors) StoreBook (sid , bid, price, stock) price stock name Store StoreBook Book authors phone sid title bid
  24. 24. Converting Relational Database to XML (Cont’d) XML: <store> <name> … </name> <phone> … </phone> <book> <title>… </title> <authors> … </authors> <price> … </price> </book> <book>…</book> … </store>
  25. 25. Challenges facing XML Integration of data sharing Security