SAX, DOM, XSLT, and XPA


You can classify tools and libraries that handle XML under several views that are more or less important depending on the circumstances of your job. Here are some views:

View \ Tool
SAX
DOM
XSLT
XPA token parsing
XPA tree parsing (used to be XTAL)
concept/technique
call back
tree traversal
declarative (functional) tree transformation
pull parsing using grammars
tree transformation using tree grammars
data structure
event
tree
DOM
ANTLR token
ANTLR AST
memory consumption
very low
moderate to high (depending on implementation)
moderate to high (depending on implementation)
very low
high
suitable for large (100M+) files
yes
no
no
yes
no
programming style
OO, call back
OO, procedural
declarative, functional
rules: declarative, semantic actions : OO
rules: declarative, semantic actions : OO
environment
embedded in Java
embedded in Java, C++, Flash, etc.
stand alone
compiled to Java, integrating Java fragments
compiled to Java, integrating Java fragments
transformation vs. handling 1
 handling
mainly handling
mainly transformation
mainly handling
mainly transformation
required knowledge
medium
low to medium
low
high
high
complexity of programming
high
medium
low
high
high
expressiveness
low
medium
medium to high
high
very high
1by handling as opposed to transformation I mean the process of extracting and using data from XML as done in configuration files etc.

Back to XPA


Copyright

XPA: Copyright (c) 2003, Oliver Zeigermann

January 2003

www.zeigermann.de