370 likes | 467 Vues
Learn the basics of XML, its history, syntax, and benefits. Explore XML elements, attributes, characters, and how XML differs from HTML. Understand the importance of well-formed XML documents. Discover why XML is a smart data choice with demonstrations and discussions.
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