Stuff

Trashing JAXP

IBM Developer Works has released an article discussing (trashing) JAXP.

http://www.ibm.com/developerworks/xml/library/x-xjavaforum4.html?ca=drs-

I don't think I really agree with the author's 'reasoning' ...

He states in the first part of the article that: "JAXP was initially intended merely to provide convenience and vendor-neutrality to SAX and DOM". The strange thing is that this is exactly what it is currently, except for adding Schema validation functionality (which is quite handy), the DOM and SAX functionality has hardly changed from the initial release.

In the second part the author writes: "Talking about a ContentHandler or a DOMImplementation is largely a thing for the past, or at least relegated to pretty high-end Java and XML programmers". This is also not the case, JAXP does not wrap any DOM or SAX functionality, the user still needs to create a ContentHandler to be able to process SAX events and the user will still need to know about Document, Element and Attr nodes.

The conclusion is as expected: "I think that JAXP has obscured the value of learning SAX and the DOM APIs on their own, without really providing significant value in return."

Even though I don't think JAXP is perfect and the API might not always have been defined at the right level (although I cannot think of any examples), the arguments that the author made to reach this conclusion are simply wrong.

Labels: , , ,

Bounce 0.9 released

A new version of the Bounce project is available for download.

All new features have been imported from the XML Hammer project.

  • Wizard framework
  • Preferences Dialog framework
  • CardPanel
  • URIUtils
  • QDialog
  • ResizingFlowLayout
  • RunnableAction
  • ThreeStateCheckBox
  • MenuUtilities
  • DummyIcon

Labels: ,

Interchanging behavioral information

Sean McGrath has again released a very good article where his alter ego Master Foo gets asked to give his opinion on these two document interchange formats. Please read the article first before continuing:
http://www.itworld.com/Tech/2327/nlsebiz070626/

Master Foo concludes that it is not possible to create a document interchange format that captures all information and can be interpreted correctly by two different applications.

Master Foo is however talking about a 'document' interchange format, more precisely the OOXML vs ODF debate and as always Master Foo in his serene wisdom is right when it comes to interchanging this type of document because a lot of the information in these documents describes the behavior of the data instead of the actual structure and behavior is very difficult (if not impossible) to interchange. To interchange documents with behavior correctly, you will, as Master Foo highlighted, most of the time need a reference implementation.

However this type of document should not be confused with documents that do not contain behavioral information and only contain information about structure and state. These documents can normally be interchanged (and specified) very well.

Labels: , , , ,

More on default namespaces

Jeni Tennison has written an article about the use of default namespaces using XPath 1.0 and 2.0 in either XSLT or XQuery.

The main issue being that XPath 2.0 allows (maybe a little confusing) applications to specify a default namespace for elements. For more information see:

http://www.jenitennison.com/blog/node/36

Labels: , ,

XNGR XML Browser 2.0 Features

I am in the process of updating the XNGR XML Browser to be more JAXP, XML and UI guidelines compliant.

At the same time I hope to be able to provide the following new functionality:

  • Associate extension-points with different Node types.
  • Provide Actions without having to provide the Service extension-point.
  • Use a more static way to define a Service or Action.
  • Besides Services or Actions also provide other extension-points like Filters.
  • Allow the creation of different Browser-types which can make use of the same extension points. (bookmarks, explorer, database)

Besides the new functionality, the current components will also need to be updated.

The work is currently still in a very early stage, so any suggestions are more than welcome.

Labels: ,