XML Introduction : XML Introduction By Hongming Yu
Feb 6th, 2002
Index : Index Markup Language: SGML, HTML, XML
An XML example
Why is XML important
XML introduction
XML applications
XML support
Markup Language : Markup Language A markup language must specify
What markup is allowed
What markup is required
How markup is to be distinguished from text
What the markup means
*XML only specify the first three, the fourth is specified by DTD
SGML(ISO 8879) : SGML(ISO 8879) Standard Generalized Markup Language
The international standard for defining descriptions of structure and content in text documents
Interchangeable: device-independent, system-independent
tags are not predefined
Using DTD to validate the structure of the document
Large, powerful, and very complex
Heavily used in industrial and commercial for over a decade
HTML(RFC 1866) : HTML(RFC 1866) HyperText Markup Language
A small SGML application used on web (a DTD and a set of processing conventions)
Can only use a predefined set of tags
What Is XML? : What Is XML? eXtensible Markup Language
A simplified version of SGML
Maintains the most useful parts of SGML
Designed so that SGML can be delivered over the Web
More flexible and adaptable than HTML
XHTML -- a reformulation of HTML 4 in XML 1.0
Difference between XML and HTML : Difference between XML and HTML XML was designed to carry data, not displaying data
XML is not a replacement for HTML.
Different goals:
XML was designed to describe data and to focus on what data is. HTML was designed to display data and to focus on how data looks.
HTML is about displaying information, XML is about describing information.
An example of XML : An example of XML
Tove
Jani
Reminder
Don't forget me this weekend!
Why Is XML Important? : Why Is XML Important? Plain Text
Easy to edit
Useful for storing small amounts of data
Possible to efficiently store large amounts of XML data through an XML front end to a database
Data Identification
Tell you what kind of data you have
Can be used in different ways by different applications
Why Is XML Important? : Why Is XML Important? Stylability
Inherently style-free
XSL---Extensible Stylesheet Language
Different XSL formats can then be used to display the same data in different ways
Inline Reusabiliy
Can be composed from separate entities
Modularize your documents without resorting to links
Why is XML important? : Why is XML important? Linkability -- XLink and XPointer
Simple unidirectional hyperlinks
Two-way links
Multiple-target links
“Expanding” links
Easily Processed
Regular and consistent notation
Vendor-neutral standard
Why is XML important? : Why is XML important? Hierarchical
Faster to access
Easier to rearrange
XML Specifications : XML Specifications XML 1.0
Defines the syntax of XML
XPointer, XLink
Defines a standard way to represent links between resources
XSL
Defines the standard stylesheet language for XML
XML Building blocks : XML Building blocks Element
Delimited by angle brackets
Identify the nature of the content they surround
General format: …
Empty element:
Attribute
Name-value pairs that occur inside start-tags after element name, like:
XML Building blocks--Prolog : XML Building blocks--Prolog The part of an XML document that precedes the XML data
Includes
A declaration: version [, encoding, standalone]
An optional DTD (Document Type Definition )
Example
XML Syntax : XML Syntax All XML elements must have a closing tag
XML tags are case sensitive
All XML elements must be properly nested
All XML documents must have a root tag
Attribute values must always be quoted
With XML, white space is preserved
With XML, a new line is always stored as LF
Comments in XML:
XML Elements : XML Elements XML Elements are Extensible
XML documents can be extended to carry more information
XML Elements have Relationships
Elements are related as parents and children
Elements have Content
Elements can have different content types: element content, mixed content, simple content, or empty content and attributes
XML elements must follow the naming rules
XML Attributes : XML Attributes Located in the start tag of elements
Provide additional information about elements
Often provide information that is not a part of data
Must be enclosed in quotes
Should I use an element or an attribute?
metadata (data about data) should be stored as attributes, and that data itself should be stored as elements
XML Validation : XML Validation "Well Formed" XML document
--correct XML syntax
"Valid" XML document
“well formed”
Conforms to the rules of a DTD (Document Type Definition)
XML DTD
defines the legal building blocks of an XML document
Can be inline in XML or as an external reference
XML Schema
an XML based alternative to DTD, more powerful
Support namespace and data types
Displaying XML : Displaying XML XML documents do not carry information about how to display the data
We can add display information to XML with
CSS (Cascading Style Sheets)
XSL (eXtensible Stylesheet Language) --- preferred
XML Application1—Separate data : XML Application1—Separate data XML can Separate Data from HTML
Store data in separate XML files
Using HTML for layout and display
Using Data Islands
Data Islands can be bound to HTML elements
Benefits:
Changes in the underlying data will not require any changes to your HTML
XML Application2—Exchange data : XML Application2—Exchange data XML is used to Exchange Data
Text format
Software-independent, hardware-independent
Exchange data between incompatible systems, given that they agree on the same tag definition.
Can be read by many different types of applications
Benefits:
Reduce the complexity of interpreting data
Easier to expand and upgrade a system
XML Application3—Store Data : XML Application3—Store Data XML can be used to Store Data
Plain text file
Store data in files or databases
Application can be written to store and retrieve information from the store
Other clients and applications can access your XML files as data sources
Benefits:
Accessible to more applications
XML Application4—Create new language : XML Application4—Create new language XML can be used to Create new Languages
WML (Wireless Markup Language) used to markup Internet applications for handheld devices like mobile phones (WAP)
MusicXML used to publishing musical scores
XML support in IE 5.0+ : XML support in IE 5.0+ Internet Explorer 5.0 has the following XML support:
Viewing of XML documents
Full support for W3C DTD standards
XML embedded in HTML as Data Islands
Binding XML data to HTML elements
Transforming and displaying XML with XSL
Displaying XML with CSS
Access to the XML DOM (Document Object Model)
*Netscape 6.0 also have full XML support
Microsoft XML Parser : Microsoft XML Parser Comes with IE 5.0
The parser features a language-neutral programming model that supports:
JavaScript, VBScript, Perl, VB, Java, C++ and more
W3C XML 1.0 and XML DOM
DTD and validation
Java APIs for XML : Java APIs for XML JAXP: Java API for XML Processing
JAXB: Java Architecture for XML Binding
JDOM: Java DOM
DOM4J: an alternative to JDOM
JAXM: Java API for XML Messaging (asynchronous)
JAX-RPC: Java API for XML-based Remote Process Communications (synchronous)
JAXR: Java API for XML Registries
Conclusion : Conclusion XML is a self-descriptive language
XML is a powerful language to describe structure data for web application
XML is currently applied in many fields
Many vendors already supports or will support XML
Reference : Reference Working with XML: The Java(TM)/XML Tutorial http://java.sun.com/xml/
XML tutorial http://www.w3schools.com/w3c/
A technical introduction to XML http://www.xml.com/pub/a/98/10/guide0.html