|
|
|
1969 - Generalized Markup Language (GML) |
|
|
|
|
|
|
single
root element |
|
nested
tags |
|
tag
structure |
|
quoted
values |
|
entity
references |
|
DOCTYPE
declaration |
|
case
sensitive |
|
default
namespace |
|
|
|
|
|
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 |
|
|
|
|
|
Goal was
to be more expressive than DTD and written in XML |
|
XML
Schema allows you to define: |
|
the
structure |
|
the
content |
|
the
semantics |
|
|
|
|
user
defined prefix associated and pre-pended to an element |
|
avoids
name collisions with other elements |
|
similar
to Java packages |
|
|
|
|
|
|
|
|
validating |
|
non-validating |
|
|
|
|
SAX (Simple API for XML) |
|
- stream based |
|
- sequential access |
|
DOM (Document Object Model) |
|
- tree based |
|
- random access |
|
|
|
|
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 |
|
|
|
|
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 |
|
|
|
|
XSL (eXtensible Stylesheet Language) |
|
XSLT |
|
XSL-FO |
|
XML Processor (example: Apache’s Xalan) |
|
|
|
|
|
|
XML to PDF |
|
XML to PostScript |
|
|
|
|
SVG |
|
RDF |
|
XUL |
|
XQL |
|
XML-RPC |
|
SOAP |
|