1 / 37

An Introduction to XML

An Introduction to XML. Paul Donohue. May 8th 2002 Hotel Senator Zürich. Overview. Topics we will cover. What Is XML? Why Use XML? Defining Rules with XML Related Technologies Demonstration Summary Questions. What is XML?. XML In A Nutshell. XML = E x tensible M arkup L anguage

yoshe
Download Presentation

An Introduction to XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Introduction to XML Paul Donohue May 8th 2002 Hotel Senator Zürich

  2. Overview Topics we will cover • What Is XML? • Why Use XML? • Defining Rules with XML • Related Technologies • Demonstration • Summary • Questions

  3. What is XML? XML In A Nutshell • XML = Extensible Markup Language • Not a programming language • An open standard for representing structured data • Describes data structure and content • Separates data from its presentation

  4. What is XML? Markup Clarifies Data A woman without her man is nothing A woman without her man, is nothing A woman: without her, man is nothing

  5. What is XML? Some History

  6. What is XML? An XML Document <?xml version="1.0"?> <talk code="ID352"> <!--Example XML file--> <title>A PB / XML Messaging System</title> <presenter>Mr Paul Donohue</presenter> <audience>PowerBuilder Developers</audience> <time>13:30</time> <date>2001-08-13</date> </talk>

  7. What is XML? Parts of an XML document • XML Declaration <?xml version="1.0"?> <!DOCTYPE talk SYSTEM “DEMO.DTD"> <talk code="ID352" > <!--Example XML file--> <title>A PB / XML Messaging System</title> <presenter>Mr Paul Donohue</presenter> <audience>PowerBuilder Developers</audience> <time>13:30</time> <date>2001-08-13</date> </talk> • Prolog • Elements • Attributes • Comments • Other Parts

  8. What is XML? Elements • Elements are the basic building blocks of XML • XML’s nouns • Elements consist of start tag, contents and end tag… <animal>cat</animal> • Empty elements can be shown as <animal/> • Contents can be data or other elements • Elements can own attributes

  9. What is XML? Attributes • Attributes give further information about an element • XML’s adjectives • Attributes consist of name, equals and value… cat_type=“persian” • Attribute values are quote delimited strings • Attributes are placed inside an element’s start tag

  10. What is XML? Characters • XML messages are text files • XML is case sensitive • XML uses the Unicode 2.1 character set • Special codes for markup characters such as < and &

  11. What is XML? Names • All elements and attributes are named • Must begin with a letter, underscore or colon • Must continue with valid name characters • Letter / Underscore / Colon • Digit • Hyphen • Full stop • May not begin with “XML”

  12. What is XML? XML vs HTML • XML uses tags like in HTML • XML complements HTML • XML is for “smart data” • XML is both data and document

  13. What is XML? Data encoded as HTML <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr bordercolor="#FFFFFF" bgcolor="#6666FF"> <td width="214">Sybase</td> <td width="150"><b>PowerBuilder 7.1</b></td> <td width="136">&pound;145.00</td> </tr> </table>

  14. What is XML? Data encoded as XML <Software> <Publisher>Sybase</Publisher> <Title>PowerBuilder <MajorVersion>7</MajorVersion> <MinorVersion>1</MinorVersion> </Title> <Price currency="GBP">145.00</Price> </Software>

  15. Why Use XML? Six Good Reasons • Royalty free • Industry standard • Platform & vendor independent • Self describing • Flexible • Caters for nested & repeating data

  16. Why Use XML? Royalty Free • Nobody “owns” XML • No software to purchase • No licensing fees

  17. Why Use XML? Industry Standard • XML version 1.0 became a W3C standard in 1998 • Good support from vendors • Low risk technology • Large community of developers

  18. Why Use XML? Platform & Vendor Independent • XML documents are text based • Perfect for messaging • There are no vendor-specific extensions • PDA to Mainframe

  19. Why Use XML? Self Describing • Descriptive element & attribute names • The name / data combination is easy to understand <price>11.50</price> <currency>GBP</currency> • XML can be viewed with a text editor

  20. Why Use XML? Flexible • XML can handle any structured data • XML can be easily transformed • Direct access to the required data

  21. Why Use XML? Nested & Repeating Data • Nested data… An employee has an address and that address has a street and a post code • Repeating data… An invoice has one or more items on it • Hard to do with traditional file formats

  22. Defining Rules Well-Formed XML Documents • Conform to the grammar of XML • One root element • Non-empty elements have start & end tags • Elements are nested correctly • Attributes are not repeated within elements • Attribute values are quoted • Can be parsed by any parser • The data may be nonsense

  23. Defining Rules Valid XML Documents • Must contain a valid document type declaration • Must obey the constraints of that declaration • Element sequence is valid • Required attributes are provided • Attribute values are a valid value • Ensures data is valid for the application domain • Rules are in a DTD or schema

  24. Defining Rules Document Type Definitions (DTD) • DTDs define validation rules for XML documents • Elements – contents, order & occurrence • Attributes – valid & default values • DTDs are optional • DTDs can be internal or external • DTDs are written in XML Declaration Syntax

  25. Defining Rules Schemas • Schemas are more powerful that DTDs • Data types • Improved occurrence constraints • Schemas are written in XML • Schemas can refer to other schemas • Get your DTD or schema correct before you code

  26. Defining Rules Semantics • Standard terms facilitate data exchange • Industry-wide standards have emerged; • MathML : Mathematical Markup Language • CML : Chemical Markup Language • FPML : Financial Products Markup Language • CDF : Channel Description Format • Check if your industry or organisation has a standard

  27. Related Technologies Overview • Parsers : SAX & DOM • Searching : XPath • Formatting : CSS, XSL & XSLT • Linking : XLink & XPointer • Resource Description Framework (RDF)

  28. Related Technologies Simple API for XML (SAX) • Event driven • Can handle large files • No random access • Read only • Primarily for Java

  29. Related Technologies Document Object Model (DOM) • Standard set of function calls • XML loaded into memory • Best for smaller files • Data is parsed into a tree of nodes • Language and platform neutral

  30. Demonstration

  31. Summary

  32. Summary What have we learnt? • What XML is • Why we should use XML • How to define rules in XML • XML’s related technologies

  33. Summary Recommended reading Title : Professional XML Author : Mark Birbeck et al Publisher : Wrox Press Inc ISBN: 1861003110

  34. Summary Recommended reading Title : Fast Track To XML Author : Eric Zenor Publisher : Sybase Article : 1003388

  35. Summary Useful Web Sites XML Org : www.xml.org W3C : www.w3.org/xml XML FAQ : www.ucc.ie/xml XML Cover Pages : www.oasis-open.org/cover/sgml-xml XML Journal : www.sys-con.com/xml

  36. Summary Useful XML Tools • MS XML Notepad http://msdn.microsoft.com • XML Spy http://www.xmlspy.com

  37. Questions If you have any questions about this presentation please email me or visit my web site. Email : info@pauldonohue.com Web : www.pauldonohue.com

More Related