|
Whitebeam - XML in the Whitebeam Architecture.
|
XML...The Whitebeam architecture is built around
the standard XML markup language. XML
provides a very simple text based syntax with which to represent arbitrarily complex data organised as a tree of 'elements'. XML,
like so many technologies, owes its success to it's
simplicity. Central to the Whitebeam architecture are the following features: - Flexible XML Parser. Can be used in pure XML mode or 'fuzzy' more where it can pass some badly formed HTML.
- Document Object Model access to XML trees. The XML tree can be directly accessed and changed
through JavaScript.
- Event access to XML documents. Ability to associate specific JavaScript behaviour with named XML tags.
- XPath querying of an XML tree.
A tutorial provides a complete overview of how XML is
accessed and manipulated in the Whitebeam environment. Around this core simplicity however XML has grown a monster of additional complex standards. Examples include
XPath, XSL/XSLT,
XQuery and
XML Schema. Some of these technologies can prove useful - however
much of what is being produced is a replacement for something else that already exists and is working just fine.
These 'replacement' technologies are very young - they are ill defined and poorly implemented. Skilled resource that
understand them is equally scarce and expensive. The Whitebeam team takes a very pragmatic approach to using XML. The core XML langauge is embraced
whoeheartedly and forms the underpinning of the entire Whitebeam architecture. The additional XML 'technologies'
are each weighed on their merits - and unfortuantely many are found wanting. Example : Everything that XSLT can do can be achieved through JavaScript more effectively and more efficiently. On
the otherhand XPath provides a powerful mechanism for querying a DOM (tree) model of an XML document. As such it
provides unique efficient benefits to an application environment such as Whitebeam. XPath is therefore integrated
into the Whitebeam architecture - and fully integrated with JavaScript. |
|
(loadtime : 5ms) |