XML Editor

XQuery Update Facility in XMLSpy

A really cool new feature in XMLSpy 2015 is the interactive XQuery Update Facility support, which lets you make changes to XML instance documents in a programmatic way - using XQuery statements - that exceed the typical regular expression based Find/Replace capabilities by far. The XQuery Update Facility specification provides a mechanism to insert nodes, delete notes, and modify nodes within instance documents. In XMLSpy 2015 you can now apply these updates either to the current file, all open files, all files in a project, or to entire directories.

This video explains the most important XQuery Update Facility commands and demonstrates how easy it is to put the power of XQuery Update Facility to work for you:

The new XQuery Update Facility support is one of the many new features introduced in the new Altova version 2015 product line last week, which includes new versions of XMLSpy, MapForce, all the other MissionKit tools, and all Altova server products.

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.


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.

XBRL Training

The SEC mandate for XBRL filings is just a few days away, and many people are still struggling with learning XBRL, how to create an extension taxonomy, or how to prepare a filing.

I am pleased to announce that we’ve just published a new FREE course in our Altova Online Training series that teaches technical users all the necessary information. Introducing the Altova XBRL Training:

After an introduction to XBRL and the XBRL filing process, you will learn to create an extension taxonomy in the XMLSpy XML editor. Then you'll learn how to get your company's back-end data into compliant XBRL filing documents using MapForce's graphical data mapping interface, and explore how to automate this process by generating code in Java, C#, or C++. The final module completes the process and focuses on StyleVision and XBRL report generation. You'll see how easy it is to create a straightforward XBRL report with drag-and-drop functionality to render XBRL in human-readable formats: HTML, PDF, and MS Word.

More information on the new XBRL training is on the Altova Blog and in the Online Training section on the Altova website.

Altova launches MissionKit v2009 including XBRL, HL7, and more

What an exciting day today. This is easily our biggest product launch in several years. Altova announces the new MissionKit v2009 on the blog and in a press release that crossed the wire at 9:10 am today.

I wrote about the final SEC rule on XBRL yesterday, and today you can download a fully functional 30-day trial of MissionKit 2009 which adds XBRL support across XMLSpy, MapForce, and StyleVision. Use the new XBRL taxonomy editor in XMLSpy to create or modify a taxonomy for your company's XBRL filings. Use the new XBRL mapping feature in MapForce to create XBRL instance documents directly from your databases - or, if you are an investment firm, to analyze XBRL filings from multiple sources. Render financial report documents in PDF, Word, Open XML, or HTML from XBRL data with StyleVision.

If you are a CTO, software architect, developer, database professional, or IT engineer and are new to XBRL, we have a great new whitepaper that provides an overview of XBRL for technical users.

But today's announcement is not just about XBRL. In our effort to support various industries we are expanding into the health-care field and are introducing support for HL7 v2 EDI messages and v3 XML-based formats in MapForce.

In addition, we've added tons of new features to all our applications that are based on customer requests, including the following highlights: database comparison and merging in DiffDog and DatabaseSpy; XPath auto-completion, expanded source/revision control system support, and better visualization and editing of XML Schema identity constraints in XMLSpy; auto-generation of sequence diagrams, full source/revision control system support, and an extensive enterprise-grade automation API in UModel; grouping support and documentation generation in MapForce; completely new design manipulation for tables as well as direct template filtering with XPath expressions in StyleVision; and extended native support for SQL Server 2008, Oracle 11g, and PostgreSQL 8 across the entire product line.

In addition to all these new features, we are announcing an immediate price reduction in our US$ pricing as our own special "stimulus package" for the US economy. Our US$ prices are now reduced 13% and more - across the entire product line!

I'll write more about the individual features added to all the products in the MissionKit in subsequent posts... but for those who can't wait, here is the full-list on our What's New page...

New BIG "minor" release of Altova tools

It's called Version 2008 Release 2, but in reality it should be a new major version. Our "problem" is that each year has 12 months whereas our talented engineers are practically cranking out a new major version every 5-6 months. So we have to call one of them the major release and the other one a minor release - but this one is BIG!

We've updated all the tools in the popular Altova MissionKit bundle with tons of new features and usability enhancements that our customers have asked for. I am most excited about the following, which provide big benefits to our users:

  • Very Large File Support: XMLSpy 2008r2 contains a number of advanced optimizations for working with very large files. These result in a reduction of memory consumption by up to 75-80% compared to the previous version when opening and validating XML documents in Text View. This means that you can now open and work with files that are about 4-5 times larger than those supported in the past!!
  • Extended Open XML (OOXML) Support: XMLSpy was the first XML Editor to directly support Open XML in April 2007 and today we are introducing more Open XML support in these products:
    • MapForce 2008r2 now directly supports SpreadsheetML and allows the user to place any Excel 2007 document inside a mapping project to directly transform data from EDI, XML, databases, web services, and legacy text files to Excel 2007 and vice-versa. This new support for Open XML and Excel 2007 is, of course, also available in the automatic code-generation capabilities of MapForce, allowing developers to generate application code for recurring data transformation scenarios in Java, C# and C++.
    • StyleVision 2008r2 now directly supports Open XML output in Word 2007 (WordprocessingML) to allow the user to generate multiple rich output formats from one single stylesheet design. StyleVision supports the generation of stylesheets via an easy-to-use drag&drop interface from XML documents as well as from databases and is the ultimate report designer that can produce output in HTML, PDF, RTF, and Open XML from one visual design. In addition, it allows developers the creation of Authentic forms from the same design to facilitate XML-based data entry across an organization with no deployment cost.
    • DiffDog 2008r2 now supports detailed XML differencing between Open XML documents, including the ability to directly edit and merge changes across those files. In addition, the directory comparison feature now also supports ZIP file types so that directories and ZIP archives can be compared as well.
  • Expanded Modeling Capabilities: UModel 2008r2 now supports the OMG's BPMN (Business Process Modeling Notation) and is also the first UML tool to ship full support for C# 3.0 and Visual Basic 9.0 - including accurate parsing of new language constructs in these programming languages that directly support XML. UModel does, of course, also continue to fully support Java 6.0 and provides full reverse-engineering and round-tripping for all the above languages.
  • Better Integration Through Global Resources: developers using multiple Altova tools - for example as parts of the MissionKit bundle - can now take advantage of increased integration between these tools. The new Global Resources feature lets a developer define directories, databases, and ancillary files in one central location and those are shared between all applications. In addition, a developer can define multiple deployment scenarios (e.g. test, staging, production) for their XML projects, and also directly connect the output of one application to become the input for another.

The above list has just a few of the highlights that I find most exciting. More details and all the other cool new features can be found on the "What's New" page on the Altova website. There is also a press release being issued today about the new version.

I will also be covering some of these features in more detail on this XML Aficionado blog in the next couple of days - stay tuned...

Open XML is now an ISO Standard

The official press-release came out of the ISO offices on April 2nd and Open XML (OOXML) is now an ISO Standard with the official designation IS 29500.

Microsoft issued a press release today, and states that 86% of all voting bodies and 75% of P-members approved the standard - both measures being above the needed thresholds of 75% and 66.7% respectively.

See also the following blog and media reactions today:

There is also an interesting story floating around that Norway allegedly seeks to reverse its Open XML vote to No - but that seems to be irrelevant given the high margins that the tallied outcome has over the minimum requirements for approval as a standard.

To get an early start working with Open XML (IS 29500), check out Altova's support for Open XML in our XMLSpy XML Editor.

You are also invited to read all previous articles on Open XML on this XML Aficionado blog - especially my January 30 tutorial post on Content reuse with Open XML and XSLT.

New York International Autoshow

I spent a day at the NY Autoshow this weekend with my son to take a look at the latest concept cars and the newest production cars from the world's largest and most exclusive automobile brands, and to check in on the progress of UIMA, an XML standard that has the potential to one day be used by cars to communicate with the road and with other cars around them.

Being a technology aficionado, I was very impressed to find more evidence of a move to carbon-fiber and aluminum construction evident with many manufacturers this year. Similarly there was are a lot of new developments with respect to electric and hybrid vehicles that could be seen in New York.

Here is a quick gallery of some of my favorite cars at the show:

Mazda Furai Concept Car

Mazda Furai Concept Car

Saleen Raptor

Saleen Raptor

Audi R8

Audi R8

BMW Concept Car

BMW Concept Car

And my favorite of the entire show - and a great example of the use of carbon-fiber and aluminum in a high-end production vehicle - is the Aston Martin DBS:

Aston Martin DB2

Aston Martin DBS

Sadly, a few revolutionary cars that I would have liked to see were absent from the show, such as the Tesla or the Gibbs Aquada. And a few other high-end car manufacturers were also missing, for example the Koenigsegg or the Pagani Zonda.

But there was a flying car on display. Well, at least a prototype of one. You just can't have a car show without a flying car:

I was also looking in vain for evidence of any production applications of UIMA or other similar software approaches that would allow XML to be used by cars to communicate with the road and other cars around them. But that technology still seems to be a few years in the future before it reaches production vehicles, as UIMA is presently being standardized by and OASIS TC.

The exciting thing about UIMA is, of course, that it is not only based on XML, but being described by a specific domain model in XMI (which can be used in the UModel UML Modeling Tool), and contains specific Web Services descriptions in WSDL (which can be viewed in the XMLSpy XML Editor and utilized in our MapForce data integration tool). Last, but not least, there are semantic web implications with respect to knowledge integration in UIMA (which result in RDF and OWL information that can be viewed and processed in our SemanticWorks RDF and OWL editor). I will be following UIMA closely and will report on any progress in this XML Aficionado blog.

More photos can be found in this gallery on my photo website. And for more news from the New York Autoshow, please refer to the various in-depth reviews on Popular Mechanics...