370 likes | 447 Views
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
E N D
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 = Extensible Markup Language • Not a programming language • An open standard for representing structured data • Describes data structure and content • Separates data from its presentation
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
What is XML? Some History
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>
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
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
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
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 &
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”
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
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">£145.00</td> </tr> </table>
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>
Why Use XML? Six Good Reasons • Royalty free • Industry standard • Platform & vendor independent • Self describing • Flexible • Caters for nested & repeating data
Why Use XML? Royalty Free • Nobody “owns” XML • No software to purchase • No licensing fees
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
Why Use XML? Platform & Vendor Independent • XML documents are text based • Perfect for messaging • There are no vendor-specific extensions • PDA to Mainframe
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
Why Use XML? Flexible • XML can handle any structured data • XML can be easily transformed • Direct access to the required data
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
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
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
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
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
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
Related Technologies Overview • Parsers : SAX & DOM • Searching : XPath • Formatting : CSS, XSL & XSLT • Linking : XLink & XPointer • Resource Description Framework (RDF)
Related Technologies Simple API for XML (SAX) • Event driven • Can handle large files • No random access • Read only • Primarily for Java
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
Summary What have we learnt? • What XML is • Why we should use XML • How to define rules in XML • XML’s related technologies
Summary Recommended reading Title : Professional XML Author : Mark Birbeck et al Publisher : Wrox Press Inc ISBN: 1861003110
Summary Recommended reading Title : Fast Track To XML Author : Eric Zenor Publisher : Sybase Article : 1003388
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
Summary Useful XML Tools • MS XML Notepad http://msdn.microsoft.com • XML Spy http://www.xmlspy.com
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