XML and Java
An XSD refresher:
– industry standard, platform independent XML Schema Language.
Default Schema Namespace: states that all the elements used within the schema belong to that particular namespace
However, usually in form with a a default prefix:
More than one namespace may be declared. One may be declared as the default namespace, another as a namespace that will be associated with certain elements :
The targetNamespace attribute defines the namespace for the document instance (the XML document.)
By default only globally declared (top-Level) elements are associated with the targetNamespace attribute. These are elements that are directly descended from the RootElement.
If the targetNamespace attribute is added to the schema element, then the prefix DOES NEED to be added to each and every component of the schema.
To add locally declared attributes to the targetNamespace, add the attributeFormDefault attribute to the schema element and use the value of “qualified.”
Stating form=”unqualified” within an schema’s element declaration will unqualify that element from the namespace.
SAX Project (old URL)
SAX is the Simple API for
XML. SAX has recently switched over to the SourceForge project infrastructure.
It is a standard for XML parsers. It reads the XML document and sends an event
for each element it encounters. Provides “sequential access” into the xml
document. It is fast, requires little memory. Sax works by callbacks. You call
the parser, its calls the methods that you supply.
– SAXParserFactory factory
= SAXParserFactory factory.newInstance();
– SAXParser saxParser =
– XMLReader parser = saxParser.getXMLReader();
standard for XML parsers. It reads the entire XML document into memory and
stores it into a tree data structure. Provides “random access” into the xml
document. It is slow, requires huge amounts of memory.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
– Document document
(named after the Xerces Blue butterfly)
Xerces2 – next generation
of high performance, fully compliant XML parsers in the Apache Xerces family.
JAXB (Java API for XML Binding)
Generate XML Mapping Code
with JAXB: “It rapidly generates XML mapping code for you, saving time and
effort, and reducing both costs and risks.
ADVISOR: JAXB: A Foundation for Web Services:Learn all about the Java Architecture for XML Data Binding and implement
lightweight XML-processing applications using the reference implementation
No comments yet.