I am very pleased to announce the release of the third release-candidate of version 1.0 of the XML Hammer application.
The XML Hammer application is a free and open-source tool that simplifies elementary XML actions like checking for well-formedness, validation, transformation and xpath searches using any JAXP implementation.
This release fixes all previously outstanding issues and also adds a native Windows launcher.
The bugs fixed include major issues in the startup scripts, confusing 'internal DTD' terminology and closing of output streams.
To download this version please go to:
http://www.xmlhammer.org/downloads.html
There are currently no known issues, to report an issue however you can report this either directly to me, send an e-mail to the mailing-lists or by using the issue tracking system.
Labels: jaxp, open-source, project, release, xml
I am very pleased to announce the release of the second release-candidate of version 1.0 of the XML Hammer application.
The XML Hammer application is a free and open-source tool that simplifies elementary XML actions like checking for well-formedness, validation, transformation and xpath searches using any JAXP implementation.
This release fixes all previously outstanding issues and also adds out-of-the-box support for RelaxNG schema validation.
The main bugs fixed are:
To download this version please go to:
http://www.xmlhammer.org/downloads.html
There are currently no known issues, to report an issue however you can report this either directly to me, send an e-mail to the mailing-lists or by using the issue tracking system.
Labels: jaxp, open-source, project, release, xml
Added an article about how to Validate XML using Java with example source-code on how to configure SAX, DOM, dom4j and XOM to validate XML Documents with DTD and Schema(s).
Labels: dom, dom4j, dtd, jaxp, sax, schema, validate, xml, xom
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: article, Brett D McLaughlin, jaxp, xml
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: data model, ODF, OOXML, Sean McGrath, xml
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: Jeni Tennison, namespaces, xml
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:
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.
I am very pleased to announce (a little bit later again) the release of the first release-candidate of the XML Hammer application.
This is a major bug fix release, the main new features are:
the main bugs fixed are:
The XML Hammer application is a free and open-source tool that simplifies elementary XML actions like checking for well-formedness, validation, transformation and xpath searches using any JAXP implementation.
To download this version please go to: http://www.xmlhammer.org/downloads.html
I am very pleased to anounce (a little bit later than promised) the release of XML Hammer version 1.0 beta-2.
This is a major feature release, the main new features are:
The XML Hammer application is a free and open-source tool that simplifies elementary XML actions like checking for well-formedness, validation, transformation and xpath searches using any JAXP implementation.
To download this version please go to:
http://www.xmlhammer.org/downloads.html
Okay, I'm not happy with everything I've written and surely have to update the xngr xml browser code sometime in the near future however ...
Somebody more intelligent than me should have a good look at the (Catalog) Resolver 1.1 API. After implementing version 1.0 before, it again has taken me a couple of hours of pure pain to figure out how to use it this time around.
Anyway for anybody who wants to use the Resolver 1.1 without using the default 'properties file' configuration, try the following:
List<String> files = getFiles(); StringBuilder builder = new StringBuilder(); for (String file : files) { builder.append(file); builder.append(";"); } CatalogManager.getStaticManager().setIgnoreMissingProperties(true); CatalogManager.getStaticManager().setUseStaticCatalog(false); CatalogManager.getStaticManager().setPreferPublic(true); CatalogManager.getStaticManager().setCatalogFiles(builder.toString());
Labels: xml
Elliotte Rusty Harold has written two (as always) excellent articles about how to use the Java API for XML Processing (JAXP).
The first article covers the XPathFactory part of the API and highlights issues like setting namespace prefix mappings.
The Java XPath API
The second article describes the validation API introduced in JAXP 1.3 and also gives an overview of how to get type information for specific elements and attributes.
The Java XML Validation API
Updated the list of JAXP Factory Implementations.
Added SchemaFactory implementations, removed the SAXParserFactory implementation for Saxon B and Saxon SA and updated the current versions.
Finally finished the first beta release of the XML Hammer tool. After half a year trying to come up with the best User Interface, have settled for the current incarnation.
The XML Hammer application is a free and open-source tool that simplifies elementary XML actions like checking for well-formedness, validation, transformation and xpath searches using any JAXP implementation.
To download this version please go to:
http://www.xmlhammer.org/downloads.html
Any suggestions are more than welcome.
Fixed the issue reported by Ruben Malchow that Syntax Highlighting in the XMLEditorKit for the Bounce project does not work correctly with XML content that differs from the XML used for the example.
Labels: xml
Added an article about XPath and Default Namespaces describing how to handle XPath expressions when using default namespaces in your XML document. Illustrated using examples for 3 popular XPath implementations: Jaxen (dom4j/XOM/JDOM), the JAXP XPathFactory and XSLT.
Labels: namespaces, xml, xpath
Added a (hopefully complete) reference list of JAXP Factory Implementations available.
Added TransformationFactory, Source and Result method descriptions. Added examples validating using the SAXParserFactory and using the DocumentBuilderFactory for both XML Schema and DTD. Updated JAXB adding JaxMe.