Welcome to the new Altova Blog

We've just launched our new redesigned Altova Blog:

This is a major redesign, including a move to a modern blogging platform, better categories and tags, and a new responsive design that will adapt to whichever device you use to visit the blog.

The new Altova Blog is also where you will find future blog posts that I write. After 8 years of blogging separately on the XML Aficionado blog, I've decided it is time to stop. This will be the last message here, and I ask you to subscribe to the new Altova Blog or to follow Altova on Facebook, LinkedIn, and Twitter for future articles and updates...

What's new in XMLSpy Version 2015 Release 3

I'm very excited to announce the new v2015r3 release of XMLSpy today. XMLSpy continues to be the de-facto industry standard for XML Editing and we take that responsibility very seriously by adding support for new standards, improved technologies, as well as features that just make our users' work more productive every release.
This latest version of XMLSpy adds the following new features:
  • Support for XPath 3.1 and XQuery 3.1
  • Significantly extended XPath/XQuery tab
  • Support for Web Services Security and other security extensions
  • Support for XBRL Extensible Enumerations 1.0
  • Support for custom fonts in Output Windows
Improved XPath/XQuery tab in XMLSpy 2015r3
Let me tell you a little bit about each one of those features...

Support for XPath & XQuery 3.1

The RaptorXML engine at the core of XMLSpy now fully supports the updated XPath 3.1 and XQuery 3.1 specifications, which were published as W3 Candidate Recommendations in December of 2014. New capabilities in XPath and XQuery 3.1 include:
  • Maps
  • Arrays
  • Support for JSON: parse-json, json-docs, serialize to JSON
  • Lookup operator “?”
  • Arrow operator “=>”
  • New functions, e.g., sort, contains-token, parse-ietf-date
Maps and arrays increase flexibility and processing speed of XPath and XQuery statements significantly, while JSON support is important as adoption of the standard continues.

Significantly extended XPath/XQuery tab

The XPath/XQuery tab, which was augmented with innovative support for XQuery Update Facility in XMLSpy 2015, just got even more powerful for XSLT and XQuery developers. The new features - shown in the screenshot above - include:
  • Builder mode, offering a list of operators, expressions, and built in functions, which you can insert in your current expression by double clicking. Functions are inserted with their arguments indicated by “#” placeholders, making it easy to build expressions quickly and error-free. You can view a description of each item by hovering your mouse over it in the list. When you’re finished building an expression, click over to Evaluator mode to test the results.
  • Enhanced entry helpers now display the description of built in functions, and then show helpful function and listentrymeter details as you type, speeding development and ensuring accuracy.
  • Ready-to-use code snippets for complex statements such as FLWOR and XQuery Update expressions are provided in the Operator/Expression pane in Builder mode, allowing you to read a description of each and insert the expression at the cursor by double clicking.
  • Nine tabs are even more useful for developing and testing complex expressions. Once you have composed an XPath or XQuery statement on one tab, switching to a new tab lets you build and analyze the results of a new expression – but when you switch back to the previous tab, the expression and results are still there. This allows you to switch back and forth between multiple expressions that you develop side-by-side and incrementally make changes to each one of them, preserving both the expression AND the result for each tab.

Support for Web Services Security & other extensions

In response to increasing demand for end-to-end security of Web services transactions, XMLSpy 2015r3 now supports authentication based on the WS-Security (Web Services Security) standard via client certificates and calling Web services via HTTPS.
Published by OASIS, Web Services Security is an extension to the SOAP protocol designed to add security functions such as authentication to SOAP messages themselves for end-to-end security of complex Web services transactions. These measures add to those provided on the transport layer by HTTP security.
New options have been added to the SOAP Request Settings Dialog - shown in the screenshot below - which is accessed via the SOAP menu, allowing you to enable and edit HTTP security settings and WS-Security settings.

Support for XBRL Extensible Enumerations

XML Schema's xs:enumeration feature allows enumerated types to be defined. Such types have a fixed list of allowed values that cannot be changed until the next version of the schema is published.
XBRL projects often require "extensible enumerations", which leave extension taxonomy editors free to augment the list of allowed values for a concept. This is particularly important for allowing enumeration values in multiple languages as well as reusing existing domain hierarchies as fact enumeration values.
XMLSpy 2015r3 now supports extensible enumerations with multi-language labels in the XBRL Taxonomy editor.

For more information on What's New in the other products of the Altova MissionKit desktop developer tools and our Server product family, please take a look at the "What's new" page on our website and at the Altova Blog.

All your base are belong to us

Seeing young people today taking technology for granted that was quite literally the stuff of SciFi stories during my childhood makes me wonder how we're going to get to the next level, if fewer and fewer people get into engineering and science careers now than in the past 50+ years.

Consider for a moment how much computers and their processing power they possess have advanced over the past 24 years: when I started this business in 1992, we were playing video games like Zero Wing ("CATS: All your base are belong to us", released in 1991) and Myst in 1993.

Now we're immersing ourselves in a virtual world like Destiny in 2014 and The Order: 1886 in 2015, and are on the brink of even more immersive experiences with VR goggles such as Oculus Rift and Microsoft HoloLens on the horizon. Yet if you consider the advances from Zero Wing to Destiny you're still only looking at about ⅔ of the progress that I've personally witnessed since I became interested in computers at age 12...

Back then we had a TRS-80 in my middle school and a friend's dad owned a Commodore PET. Later, during my high school career, we had Commodore 8032s to work with, and at my dad's laboratory at the university I had a chance to work with an Apple II (actually, to be more precise, it was a French Apple II clone). It wasn't until my Junior year that I was able to afford my first very own computer, an Apple IIe, and later one of the first IBM PC-XTs and then one of the first Macs during college.

I started programming early on and wrote software for a variety of local small businesses, which allowed me to be an early adopter and buy some pretty neat computers at that time. All of these machines had - by today's standards - extremely slow CPUs and laughably small amounts of RAM (and all, except the PC-XT, didn't even have hard disks!).

In fact, your typical smartphone today has more computing power, memory, disk space, etc. than all of NASA had in their "supercomputers" when they placed a man on the moon.

So why is it then, that we see so few young people interested in anything more than just playing games on their computers, consoles, and phones? Why do we need efforts like code.org to try to encourage more students to explore programming and computer science? Why is the age old question of "how do I program this darn thing" not burning in the minds of more young people?

All I can imagine is that there is, perhaps, a significant difference between then and now due to increasing complexity? Back in the early days, it was maybe a bit easier to be fascinated by computers and to be sucked into wanting to program them, because it was still possible to completely comprehend how a computer worked. Within just a few weeks you could teach yourself a programming language and create your first program. And you could create something cool in just a few months. By contrast, nowadays, to create something "cool" you need almost a movie studio budget and a team of programmers working for several years.

However, the barrier to entry was much higher back then in economic terms: you had to use a computer in a lab, at the school, or in college. Very few people could afford their own computer. By comparison, with a budget of < $80 you can build your own Raspberry Pi today and hook it up to an old monitor and off you go. You get all the programming tools in the world and a platform that is open and invites you to experiment not only with the software, but also with the hardware!

So why are young people today more inclined to play video games (be it on their smartphones, on PCs, or on consoles) than to want to program computers? And is code.org the right approach to get more people interested in computer sciences?

Let's discuss...