Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to XML Jussi Pohjolainen TAMK University of Applied Sciences.

Similar presentations


Presentation on theme: "Introduction to XML Jussi Pohjolainen TAMK University of Applied Sciences."— Presentation transcript:

1 Introduction to XML Jussi Pohjolainen TAMK University of Applied Sciences

2 What is XML? eXtensible Markup Language, is a specification for creating custom markup languages W3C Recommendation Primary purpose is to help computers to share data XML is meta-language. This means that you use it for creating languages. XML is an extensive concept.

3 XML Document Every XML-document is text-based => sharing data between different computers! => sharing data in Internet! => platform independence!

4 Binary vs. Text Problems with Binary format – Platform depence – Firewalls – Hard to debug – Inspecting the file can be hard Since XML is text-based, it does not have the problems mentioned above. What are the disadvantages in text format?

5 XML Doc Advantages Easy data sharing, text documents are readable between any device. Documents can be modified with any text editor. Possible to understand the contents of the xml- document just by looking at it with text editor. Easy to manipulate via programming languages Two levels of correctness: Well formed and Valid.

6 .doc – file format Windows MS Word 2000 Mac OS X Since.doc is closed binary-format, there are very few alternatives for word processors that fully support the doc – file format 0101011010101010001010 1010101110101010001011 1010101110101010110101 1110101010101010101010

7 .docx – file format (Office Open XML) Windows MS Word 2007 Mac OS X Hopefully in the future there will be loads of free programs that support this new open and easy access file format title. Now the format is open and it's much easier to access

8 SGML vs. XML SGML: Standard Generalized Markup Language XML HTML (.html) XHTML (.xhtml) MathML (.mml) OOXML (.docx)

9 XML – Meta Language XML is meta language, which you can use to create your own markup languages. There are several XML Markup Languages made for different purposes All the languages have common xml-rules Languages: XHTML, OOXML, Open Document, RSS, SVG, SOAP, SMIL, MathML... List: – http://en.wikipedia.org/wiki/List_of_XML_markup_languages

10 XHTML - Example <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Minimal XHTML 1.0 Document This is a minimal XHTML 1.0 document.

11 SVG - Example <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg"> <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/>

12 MathML (Open Office) x =... x = {-b +-sqrt{b^{2}-4{ac}} } over {2 {a}}

13 RSS 2.0 - Example W3Schools Home Page http://www.w3schools.com Free web building tutorials RSS Tutorial http://www.w3schools.com/rss New RSS tutorial on W3Schools XML Tutorial http://www.w3schools.com/xml New XML tutorial on W3Schools

14 XML Editors XML Spy EditiX Microsoft XML Notepad Visual XML XML Viewer Xeena XML Styler, Morphon, XML Writer…

15 WELL FORMED XML - DOCUMENT Rules that Apply to Every XML-Document

16 Correctness There are two levels of correctness of an XML document: 1.Well-formed. A well-formed document conforms to all of XML's syntax rules. 2.Valid. A valid document additionally conforms to some semantic rules. Let's first look at the XML's syntax rules (1).

17 Simple Generic XML Example Introduction to XML XML is...

18 XML-Declaration XML-declaration is optional in XML 1.0, mandatory in 1.1. – Recommendation: use it. Version: 1.0 or 1.1 Encoding: character encoding, default utf-8 Standalone: – is the xml-document linked to external markup declaration – yes: no external markup declarations – no: can have external markup declaration (open issue..) – default: "no"

19 Comparing Declarations Introduction to XML XML is... Introduction to XML XML is... Same Declaration

20 Element vs. Tag vs. Attribute Element consists of start tag, optional content and an end tag: – Introduction to XML Start tag – Content – Introduction to XML End tag – Start tag may have attribute –

21 Rules about Elements Only one root - element Every element contains starting tag and an ending tag Content is optional: Empty element – Tag – names are case-sensitive: – Elements must be ended with the end tag in correct order: – problem here <!– Error 

22 Rules about Attributes XML elements can have attributes in the start tag. Attributes must be quoted: –

23 Naming Tags Names can contain letters, numbers, and other characters Names must not start with a number or punctuation character Names must not start with the letters xml (or XML, or Xml, etc) Names cannot contain spaces

24 Well-Formed XML XML document is well-formed if it follows the syntax rules. XML document must be well-formed! – it's not an xml-document, if it does not follow the rules..

25 Is this Well-Formed XML Document? Minimal XHTML 1.0 Document This is a minimal XHTML 1.0 document.

26 Is this Well-Formed XML Document? Minimal XHTML 1.0 Document This is a minimal XHTML 1.0 document.

27 VALID XML DOCUMENT Defining the Structure for XML documents

28 Valid XML XML document is valid if – 1) It is well formed AND – 2) It follows some semantic rules XML document is usually linked to an external file, that has semantic rules for the document. – The file can be dtd (.dtd) or schema (.xsd) Semantic rules? – Name of tags, order of elements

29 DTD Linking <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Minimal XHTML 1.0 Document This is a minimal XHTML 1.0 document. Rules for XHTML elements (order, names, etc)

30 DTD Linking Defines the structure, tag names and order for all xhtml - documents W3C has created XML-language "XHTML" by defining it's rules in DTD. W3C has created XML-language "XHTML" by defining it's rules in DTD.

31 Is this valid XML Document? Minimal XHTML 1.0 Document This is a minimal XHTML 1.0 document. 1.There is no DTD! What language is this? MathML? SVG? XHTML? 2.Assuming this is XHTML, what version of XHTML? Transitional? Strict? 3.Assuming this is XHTML strict, does "jorma" – tag belong to XHTML Language? 1.There is no DTD! What language is this? MathML? SVG? XHTML? 2.Assuming this is XHTML, what version of XHTML? Transitional? Strict? 3.Assuming this is XHTML strict, does "jorma" – tag belong to XHTML Language?

32 Invalid XHTML-document <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Minimal XHTML 1.0 Document This is a minimal XHTML 1.0 document.

33 Validating with W3C Service

34 Invalid XHTML in Browser? May work... or not. Browser tries to detect the errors and tries to understand them. If it works with one browser, are you certain that it works with all other browsers? And with all the versions with the browsers? What about browsers in handheld devices? And it might work now, but what about future? How will Firefox 5.0 handle incorrect web pages? May work... or not. Browser tries to detect the errors and tries to understand them. If it works with one browser, are you certain that it works with all other browsers? And with all the versions with the browsers? What about browsers in handheld devices? And it might work now, but what about future? How will Firefox 5.0 handle incorrect web pages?

35 Invalid XML in General Because of HTML heritage, browsers try to understand invalid XHTML-pages This is not the case in other XML-languages. In general, if XML-document is invalid, the processing of the document is cancelled.

36 Example: MathML and Open Office

37 Open the Document in External Editor

38 Modify and Save the Document Break the XML file

39 Open the Document

40 Result Nope.. It does not try to understand the errors in the document. It does not handle the document at all. Nope.. It does not try to understand the errors in the document. It does not handle the document at all.

41 Benefits of WF and Valid XML has strict rules for WF and Valid If application tries to manipulate xml- document it does not have to try to understand the possible errors in the document This means that handling xml-files via programming language is much easier – If the document is correctly formed, manipulate it – If it isn't display error

42 Case: TAMKOtuki The menu of TAMKOtuki is saved into XML- document: – http://php.tpu.fi/~pohjus/menu/index.php http://php.tpu.fi/~pohjus/menu/index.php Since you can be sure, that the xml-document is well formed, reading the contents of the xml- document is fairly easy – Showing the contents in Web-page: http://tamkotuki.tamk.fi/en/ravintolat.php – Showing the contents in TAMK-intra: https://intra.tamk.fi – Showing the contents in Mobile Devices..


Download ppt "Introduction to XML Jussi Pohjolainen TAMK University of Applied Sciences."

Similar presentations


Ads by Google