Notes
Outline
A Brief History of Markup
1969 - Generalized Markup Language (GML)



Why XML is so important:
XML structure and validity
HTML vs XML/XHTML
 single root element
 nested tags
 tag structure
 quoted values
 entity references
 DOCTYPE declaration
 case sensitive
 default namespace
DTD (Document Type Definition)
 validates your document
 makes sure it is structured correctly
 makes sure all tags are used in the proper manner
 DTDs do not tell you
 how many instances of each kind of element appears
 what the character data looks like
 the semantic meaning of an element
XML Schema
 Goal was to be more expressive than DTD and written in XML
 XML Schema allows you to define:
 the structure
 the content
 the semantics
XML Namespaces
 user defined prefix associated and pre-pended to an element
 avoids name collisions with other elements
 similar to Java packages
XML Programming
XML Parsers (example: Apache Xerces)
 validating
 non-validating
XML Standard Interfaces
SAX (Simple API for XML)
- stream based
- sequential access
DOM (Document Object Model)
- tree based
- random access
SAX vs DOM
A case study: Apache’s Cocoon Project
DOM
tree based
rich API
use of XPath
simple to use
read and write
seriously resource intensive!!!!
not scaleable
SAX
stream based
simple API
cannot use XPath *
difficult to use
read only…but can use filters
very fast, not resource intensive
very scaleable
XPath
 non-XML syntax used for expressions that identify particular nodes and groups of nodes in a document
 XPath 1.0 defines 27 built-in functions for use in XPath expressions
XML Transformations
XSL (eXtensible Stylesheet Language)
XSLT
XSL-FO
XML Processor (example: Apache’s Xalan)
XSLT
eXtensible Stylesheet Transformations
XML to HTML
XML to XML
XSL-FO
XSL Formatting Objects
XML to PDF
XML to PostScript
Other XML Technologies
SVG
RDF
XUL
XQL
XML-RPC
SOAP