XML Schema

The Power of RaptorXML - now available in XMLSpy 2014

The RaptorXML Story

As you probably know by now, RaptorXML, our new 3rd generation high-performance XML, XPath, XSLT, XQuery, and XBRL processing engine, was a little over 2 years in the making. When we embarked on this mission in 2011, we set out to create a new processor that was highly optimized for multi-core CPUs, high throughput, and a reduced memory footprint. As part of that redesign we incorporated all our experience with the evolution of XML over the last decade and focused on adding support for all the latest standards, including XML 1.1, XML Schema 1.1, XPath 3.0, XSLT 3.0, XQuery 3.0, XBRL 2.1, XBRL Dimensions, XBRL Formula, and many others.

Our decision to first launch the new RaptorXML engine as a stand-alone server product in June rather than waiting for our annual product release in the fall was certainly not an easy decision to make. We knew that all our existing XMLSpy and MissionKit customers were eagerly awaiting support for XML Schema 1.1 as well as the 3.0 versions of XPath, XLST, and XQuery.

At the same time we knew that the engine was ready for large-scale production use, while the refactoring of our existing tools and integration of the new engine would still take another 3-4 months, so we decided to introduce RaptorXML as a stand-alone server product first. The initial RaptorXML announcement happened at the XBRL International conference in Dublin, Ireland, in May this year and commercial availability of the server followed in June, when RaptorXML joined the growing family of Altova Server products.

And it turns out we made the right decision. At this time RaptorXML+XBRL Server is already being used by over 50 customers, including a major banking regulator in Asia, to validate large amounts of XBRL data on high-end servers using XBRL 2.1 and XBRL Formula validation.


Altova MissionKit 2014 Launch

Now the long-awaited day has finally come and we are very excited to introduce our new Altova MissionKit 2014 product line that incorporates the RaptorXML engine in XMLSpy and many other MissionKit tools. This means you get immediate access to XML Schema 1.1, XPath 3.0, XSLT 3.0, XQuery 3.0, and XBRL Formula validation - in addition to all the previous standards - right from within the new XMLSpy 2014 XML Editor and you get a huge performance boost for all your projects due to the faster engine.

And we have, of course, extended our graphical XML Schema editor to include support for XML Schema 1.1 as well as adding the powerful SmartFix validation to the schema editor, so XMLSpy will now make intelligent suggestions on how to fix common XML Schema errors directly in the graphical schema editor.





Due to the new capabilities of RaptorXML you also get a cool new feature that has been requested by many users: the ability to display multiple validation errors at once!

And for all XBRL users we have included better XBRL Formula support as well as XBRL Concept Types in the XBRL Taxonomy editor. This makes XMLSpy Enterprise Edition the single most powerful XBRL development tool with taxonomy editing and powerful RaptorXML-based XBRL instance validation all available in one easily affordable tool.

Bottom-line: having RaptorXML inside of XMLSpy is just awesome and you will love the speed as well as the improved standards-conformance! And if you want to include RaptorXML-based validation in your own projects you can now deploy RaptorXML Server on Windows, Linux, and MacOS X. Check out the RaptorXML Server datasheet for more information.

But the good news doesn't stop with XMLSpy. Version 2014 of the Altova MissionKit includes several new features in MapForce as well, such as support for XML wildcards <xs:any> and <xs:anyAttribute> as well as the ability to generate comments and processing instructions in any XML output files.

Additional new features that are available across all major Altova MissionKit 2014 tools are: Integration with Eclipse 4.3, as well as updated support for new databases, including SQL Server 2012, MySQL 5.5.28, PostgreSQL 9.0.10, 9.1.6, 9.2.1, Sybase ASE 15.7, IBM DB2 9.5, 9.7, 10.1, Informix 11.70, and Access 2013.

Last, but not least, to help you take advantage of the powerful new XML Schema 1.1 capabilities, such as assertions, conditional type alternatives, default attributes, and open content, we are also launching a comprehensive new FREE XML Schema 1.1 online training course today.

For more information, please check out today's announcement on the Altova blog as well as the What's New page on the Altova website.

Altova MissionKit 2013

Just in case you missed these announcements last month, here is a quick recap of some of our blog posts about the new major features in the Altova MissionKit 2013:

But there is so much more included in version 2013 of the various developer tools across the entire MissionKit tools suite in terms of new features that we added in direct response to customer feedback:

  • Seamless integration options in Java applications for XMLSpy, MapForce, StyleVision, Authentic
  • Support for embedded XML Schemas in WSDL files
  • Enhanced WSDL documentation options
  • Flexible integration of external programs into XMLSpy
  • Support for CamelCase words in spell checker
  • Option to strip unnecessary whitespace
  • Support for Team Foundation Server MSSCCI Provider for version control systems
  • Table row and column conditions
  • XPath Evaluator extension of XPath Builder
  • Integration with Eclipse 4.2 (adds to support for earlier versions)
  • Support for US GAAP 2012 XBRL taxonomy (adds to support for earlier versions)
  • Support for UML 2.4
  • Support for SysML 1.2
  • Support for displaying .NET properties as UML associations
  • Spell checker for UML model components
  • Print results of directory comparisons in DiffDog
  • Significant performance improvements in DiffDog
  • Authentic browser plug-in for Google Chrome
  • Authentic push installer for browser plug-ins

More information on all of these new features can be found on our "What's New" page

Altova MissionKit packs a punch with new features in v2011r2

I’ve been traveling for a bit, so I haven’t even had time to tell you about the new version 2011r2 of our Altova product line yet. As always we’ve been very busy in the past four months and have added a number of very cool features to all our products. As a result the Altova MissionKit v2011r2 packs a nice punch and shouldn’t be missing from any professional developer’s toolbox.

Here are the highlights among the new features:

  • Huge improvements in the charting functionality that we’ve originally introduced in v2011 with a wide range of new customizable charting features, including Stacked Bar Charts, Area Charts, Stacked Area Charts, Candlestick Charts, Chart overlays, Background images, Color gradients, and customizable axis labels.
  • Embedding external files in XML documents via CDATA blocks (supporting Base 16 and Base 64 encoding).
  • XML Schema refactoring in XMLSpy.
  • Customizable generation of documentation from XMLSpy, MapForce, and UModel via StyleVision stylesheets. This provides  countless options to customize your documentation from adding your logo to creating a detailed in-depth report about your mappings or models for later analysis.
  • Data streaming for file output in MapForce for large ETL projects.
  • Support for IATA PADIS EDI format in MapForce.
  • Automatic creation of reverse mappings in MapForce.
  • Barcode support for QR, DataMatrix, PDF417, Codabar, Code39, and many other formats.
  • Ability to create multiple output files from a single design template in StyleVision.
  • Ability to create ASPX web applications for dynamic data output in StyleVision.
  • Support for BPMN 2.0 in UModel.
  • Code-generation from state machine diagrams in UModel.
  • Word comparison in DiffDog.

And there are many more additional features. Also make sure to check out the latest couple of posts on the Altova Blog that go into more detail.

As always, you can download a free 30-day trial version from our website and our tools are available in English, German, and Japanese versions – plus XMLSpy is also available in a Chinese version now.

Altova MissionKit v2011 just launched

I’m very excited about all the new features we’ve packed into the 2011 version of the Altova MissionKit that we just launched this week.

The most eye-catching feature certainly is the charting and reporting functionality for analyzing and communicating XML, database, XBRL, EDI – virtually any type of data – and produce the usual Line Chart, Bar Chart, Pie Chart, etc. Charts are created with a few clicks inside the MissionKit tools and can be immediately shared via copy/paste or saved as image files – that’s right, no more exporting to Excel – or integrated in reports or data entry applications designed in Altova StyleVision. Of course, you can also get the XSLT or XQuery code for generating the chart for use in your own apps using AltovaXML. Here is an example of a MapForce data transformation that directly links to a StyleVision output stylesheet, showing the result in tabular form as well as in a chart:

mapforce-html[1]

Equally impressive is the new UML database modeling feature in UModel 2011, which allows you to extend software modeling functionality by modeling relational databases along with your Java, C#, and Visual Basic software applications. This high-level modeling of databases nicely complements the existing low-level database structure editing of DatabaseSpy to make the MissionKit a complete solution for all database modeling needs.

UModel2011 database diagram

For people working with XML Schema, we have two exciting new features in XMLSpy: (a) a Schema Subset Generator that allows you to generate subsets of existing XML Schemas, which is extremely useful e.g. for IEPD development for NIEM; and (b) a Schema Flattener that allows you to create a new flat schema in just one file from any complex hierarchy of included or imported schemas.

schema-subset[1]

Last, but not least, we’ve added a complete Authentic Scripting Environment in StyleVision to let you create powerful XML content-editing and data-entry applications – including event-handlers, macros, buttons, toolbars, etc. - based on the Authentic platform.

script_project[1]

The Altova MissionKit 2011 is now available in English, German, and Japanese versions and comes in 32-bit and 64-bit versions!

So come and check out all the new features, then download your 30-day free trial to see for yourself how much more powerful the MissionKit 2011 is.

Altova and NIEM (the National Information Exchange Model)

In February this year I was invited to give the keynote address at the NIEM Town Hall meeting in Washington, DC, to talk about how Altova tools can support projects that facilitate the National Information Exchange Model (NIEM). In particular, I covered the use of Altova tools in the life cycle of developing the Information Exchange Package Documentation (IEPD). The slides from that speech are now available on slideshare and a recap of the NIEM town hall meeting is also available on the NIEM website.

Since then we’ve been working with NIEM to add new features to the Altova product line that further support the NIEM development cycle and in particular our recent release of XMLSpy 2010r3 adds two features that are very important for NIEM:

  1. NIEM defines a set of Naming and Design Rules (NDR) that specify how XML Schemas for a NIEM-conformant information exchange have to be constructed. XMLSpy now includes an extended schema validation function that allows a developer to validate a schema against naming and coding conventions, and in particular XMLSpy ships with a set of extended validation rules that allow validation against the NIEM NDR.
  2. Another important step during the development for an IEPD for a NIEM-conformant information exchange is the production of example XML files that demonstrate the data that can be exchanged. To provide better example files, XMLSpy now lets developers specify user-defined example values for each element, attribute, or type in an XML Schema. During the generation of example XML files XMLSpy then uses these user-defined example values to produce meaningful example documents that are immediately suitable for documentation and testing purposes.

Further details about Altova tools for NIEM can be found in the Solutions Center on the Altova website and also in today’s article Altova adds to NIEM support in v2010r3 on the Altova Blog.

JSON and XML

Listening to bloggers over the last couple of years and also in talking to several developers in the industry it appeared to me that the JSON vs. XML debate seemed to primarily be a “religious” conflict – much like the “PC vs. Mac” or “Java vs. .NET” are to a large extent. I call it a religious conflict simply because there are fanatics on either side and they try to convert the masses and get them to agree with their point of view. But if you look at both XML and JSON with an unbiased mind and take each approach seriously, you’ll quickly find out that there are tons of applications where XML makes more sense and then there is a ton of other applications where JSON makes more sense. I would argue that XML has the better infra-structure of surrounding standards (like XML Schema, XSLT, XPath, etc.) that makes is a much richer platform and provides more flexibility, but there is something to be said about the elegance, efficiency, and simplicity of JSON, too. Instead of viewing JSON and XML as competing technologies we decided in our v2010 release to support them side-by-side and give our users the choice: XMLSpy 2010 now includes a JSON editor and supports JSON editing in its text and grid views with full syntax coloring, syntax checking, etc. This makes XMLSpy the first and only XML Editor to support JSON:

Just like we find some of our customers using XMLSpy as a plug-in within Eclipse and doing code-generation for Java, whereas other customers are using XMLSpy embedded within Visual Studio and doing primarily code-generation for C#, we expect that some of our customers will user our tools for JSON work, and others won’t. As a standards-focused developer tools vendor we simply want to give them the choice.

So let’s talk a bit more about the JSON vs. XML devate. For some background reading, I’d recommend doing a Google search for “JSON vs XML” and you will find various different opinions.

Here is my take on the matter: XML by itself appears to be similar to JSON only when you ignore all the surrounding XML-related standards. At its core, both JSON and XML are used to capture and describe structured and unstructured data. JSON mainly focuses on storing or transmitting that data efficiently, i.e. with very little overhead, whereas XML focuses on a rich environment that includes entities and a mechanism to support metadata and extensibility. The extensibility is really the huge difference: XML includes concepts on how existing XML data can be augmented, extended and enriched by additional data and metadata from other domains using XML Namespaces. Furthermore, XML data can be processed with XSLT, queried with XQuery, addressed and extracted via XPath, etc. – none of those supporting technologies are really available for JSON in such rich diversity. However, when it comes to just capturing simple structured data and expressing it either in files or in a transmission between client and server, JSON shines with its simplicity and – some argue – better human readability.

So once we made the decision to support JSON in XMLSpy in addition to XML, the next question became obviously how you get data from one format into the other, and so we added a JSON <=> XML conversion option to our Convert menu.

For example, take the following bit of JSON data:

And you can now easily convert that into an equivalent piece of XML data:

Our main logic to include easy one-click conversion was that we figured people would sometimes want to experiment to see what approach works best for their application or their data. As such, they can simply take existing XML data and easily convert it to JSON to test with their new app, or conversely if they run into an issue with a JSON based application and need to convert existing data files to XML because they need the extensibility, meta-data, attributes, or the processing capabilities of XSLT and XQuery, they can easily do that with XMLSpy now.

But make no mistake: we are not saying that JSON is better than XML. On the contrary, I continue to be a huge fan of XML, which is why this blog is called the XML Aficionado, not the JSON Aficionado!

So the fact that there is a conversion function from XML => JSON in XMLSpy now doesn’t mean that people should necessarily convert from one format to the other. Rather, I see people who use either one or both formats wanting to occasionally move data from one world into the other or experiment with the other format and to make that process very convenient we’ve added the ability to convert from one to the other whenever you need to. But mainly we expect people will work either with JSON files or with XML files – depending on what is most suitable for their particular application or use-case.

So go ahead, use the comment section and let me know how you feel about the JSON vs  XML debate and what you think of our approach to support both…

P.S. My thanks go to Peter Zschunke, because a lot of material for this blog post came from a discussion and e-mail interview we recently conducted for his German blog XML-Ecke.

Identity constraints become crystal-clear

One of the essential features of the XML Schema language are identity constraints (key / keyref / unique), which are typically used to model relational database concepts in XML Schema. Up until now, however, editing identity constraints was typically a very cumbersome task because it mostly needed to be done by hand - either in text view or through the properties pages.

In XMLSpy 2009 we've now addressed identity constraints editing with a powerful new way to both visualize the constraints and underlying relationships, as well as a graphical means to edit them in the visual XML Schema editor:

Identity constraints are now indicated by green lines, informative icons, and mouse-over messages in the Content Model View. A right-click menu allows you to easily add new relationships and specify field and selector values by typing them manually, using drop-down entry helpers, or by simply dragging and dropping the desired nodes.

This is a "must have" feature for anybody involved with XML Schema design or relational database and XML work. Click here to try it out for free for 30 days....

Whitepaper on using Altova Tools with IBM DB2

Altova and IBM jointly published a whitepaper that shows how the integration of Altova tools with DB2 allows users to:

The solutions to the business problems presented in the whitepaper show how DBAs and developers working with real-world XML applications can benefit from the integration of Altova tools with IBM DB2.

Click here to download the whitepaper (PDF).

Using XML Catalogs in XMLSpy

Jerry Sheehan has recently posted a useful article "A simple way to re-direct schema locations in XMLSpy using XML Catalogs" on his XML Scoop blog. In it he describes how to extend the CustomCatalog.xml file in your installation directory to redirect PUBLIC or SYSTEM identifiers in DTDs as well as URI references in XML Schemas to local copies of frequently-used schemas or DTDs to reduce loading time. XML Catalog support in XMLSpy is based on OASIS XML Catalogs.

Best Practices for XML Internationalization

The W3C has released an updated working draft of "Best Practices for XML Internationalization", which has been authored by the Internationalization Tag Set (ITS) Working Group.

This document is a complement to the W3C Recommendation Internationalization Tag Set (ITS). However, not all internationalization-related issues can be resolved by the special markup described in ITS. The best practices in the new working draft document, therefore, go beyond application of ITS markup to address a number of problems that can be avoided by correctly designing XML schemas, and by applying a few additional guidelines when writing XML content in an XML editor.

See also this announcement on the W3C Internationalization (I18n) Blog.

IBM Information-On-Demand XML Highlights

I am writing this quick report from the airport lounge in San Francisco, as I am waiting for my flight to Frankfurt and onward to Vienna for a week of meetings at Altova GmbH's headquarters in Austria. You just have to love Wi-Fi access - how did we ever get anything done before the Internet, laptops, Wi-Fi networks, and blogs?

With a week of conference sessions and trade show work in Las Vegas behind me, here is a quick summary of what I perceived to be some of the highlights of IBM's Information-On-Demand show from an XML Aficionado's perspective:

IBM announced DB2 version 9.5 (scheduled to ship October 31st), which contains several feature enhancements to the pureXML functionality, including inlining of XML, compression, several performance improvements for transactional XML, and the first implementation of XQuery Update in a major database. The last bit is probably the most interesting, because of the lack of updating capabilities in the original XQuery specs, which was exclusively focused on queries (analog to the SELECT statement in SQL). XQuery Update provides the ability to insert, delete, or update any node, i.e. potentially just one single element or attribute in the database, which should provide a huge difference to current implementation, where the entire XML document typically needs to be written back to a column in the database.

Altova's Nick Nagel, spoke on XML-Driven Data Management in a Developer Den session on Wednesday, which was well-attended. Nick's presentation addressed a "top-down" approach to data modeling using XSD (XML Schema Definition language) as a data modeling language with implications for data storage and retrieval as pureXML in DB2. Nick spoke on how XSD in turn can drive process implementation serving as formal design document, and how XML facilitates process development by enabling automated data binding, data mapping, as well as storage and retrieval with XPath 2.0 and XQuery. He also showed several screenshots on how Altova's tools can make working with XML in DB2 easier for developers.

IBM's Berni Schiefer conducted a Birds of a Feather session on Performance Tips, Conundrums and Experiences with DB2, where he answered customer questions and spoke in-depth about performance tuning of DB2, including tuning for pureXML. He also gave a few other interesting talks, but I did unfortunately not have time to attend those.

There were also plenty of interesting customer talks about how they are using XML, as well as more in-depth sessions on various aspects of pureXML in DB2, but my flight is boarding in a few minutes, so I don't have enough time to report on those anymore.

XML Aficionado in the News

Two articles hit the news today that are based in part on interviews with the XML Aficionado:

The former is a detailed analysis of the OOXML vs. ODF controversy from a developer's perspective, including interviews with Burton Group analyst Peter O'Kelly, Microsoft's Brian Jones, and me.

The latter is a review of the new Altov XMLSpy 2008 release (in German).

I want that screen

Have I mentioned before that I love technology? Especially new technology gadgets that are rule-breakers, i.e. devices that are changing the way we work/play/compute!

Perceptive Pixel is a new company that seems to have just one such device: it's a gigantic (i.e. wall-sized) multi-touch display and it seems to be driven by some very innovative software for image manipulation, web-browsing, etc.

Such a screen would be great in my office for designing XML Schemas or an entire software architecture in UML...