XQuery Update Facility is an extension of the XQuery language that allows you to make changes in an XML document using “update expressions” that insert, delete, replace, or rename nodes. This extension provides a convenient way to make intelligent updates to XML documents, and XMLSpy has a unique implementation that makes it even easier. Let’s see how it works.
Prior to starting at Altova I had zero experience with both XPath and XQuery. The first task I was presented with was to train myself on both query languages as quickly as possible and produce a concise video that would serve as an XPath tutorial and XQuery tutorial. It was important to develop a thorough understanding of their features and capabilities because both languages are integral to app development in MobileTogether and querying data in XMLSpy. I started with a strong background in SQL, learning XPath and XQuery by building queries first in SQL, and then determining how to replicate them in both query languages.
What better goal to set for your summer than learning a new programming language? Forget the “beach books” this summer and set your sights on diving into a new coding language – but which one should you pick?
As reported by EDC there are approximately 24 million professional software developers on Earth, and almost 700 notable programming languages (according to Wikipedia). I would wager a bet there is a staggeringly equal number of places online where you can learn one programming language or another. Whether you are already one of those 11 million coding experts or a newbie to programming, there is a plethora of information out there to sort though.
For the purposes for this blog post, we will certainly look at the world’s most-widely-used programming languages in 2021, but also at important languages for data manipulation and querying, so we’ll discuss: C and its derivatives (C++, C#, and Objective-C), Java, Python, R, JavaScript, Ruby, SQL, and XQuery.
Deciding where to start depends entirely on the kind of development scenarios you have in mind, so we’ve broken things down for you to make it easier. It doesn’t matter if you are a seasoned programmer looking to add a new language to your repertoire or a novice who doesn’t know the difference between C, C++, Objective-C, or C# yet. We have assembled a list of explanations to help you choose which language you may want to conquer next.
XSLT3 adds trigonometry and other advanced math functions, new formatting functions, functions to collect environment variables, and more, extending XSLT and XSLT2 XML transformation standards. Data analysts and other data professionals can apply XSLT3 functions to solve XML data mapping and integration challenges that require complex mathematical computations. Let’s look at some MapForce examples of data mapping with XSLT3 math functions using trigonometry and other complex math expressions.
In an earlier post we described how to integrate
maps into cross-platform mobile apps with each end-user device’s native map
application. Our example app generated a map with pins locating major airports
in the United States. Illustrations showed maps generated by the same app on an
Android phone, an iPhone, and Windows desktop.
What if a list of locations to be mapped is not known in advance, but generated based on user activity at run-time? MobileTogether, the low-code cross-platform mobile development tool from Altova, also empowers developers to build custom maps in mobile apps on the fly based on a list of geolocations generated at run time.
Nothing interrupts the flow of development like waiting for a collection of files to transform – yet this step is unavoidable when writing, testing, and debugging XSLT and XQuery code.
In addition to offering the XSL Speed Optimizer, we’ve worked hard over the years to make sure the processor in XMLSpy is as fast as possible. As quick as it is today, it’s still limited to a single core execution on the CPU in your development machine – well, not any more.
Developers are always looking for simpler and more efficient ways to create mobile apps and launch them into the world even faster. The recently-introduced Altova XQuery 3.1 Online Training covers XQuery constructors that developers can use like power tools for quicker mobile app development.
XQuery is an XML-based query language for extracting information from structured and unstructured data, typically – but not limited to – XML format. XQuery is supported by dozens of applications and software tools, and is commonly used wherever XML data is exchanged, consumed, or otherwise processed.
Now Altova is proud to announce launch of the first comprehensive XQuery online training, including the latest features of XQuery 3.1. Altova’s free online XQuery tutorial is available now at the Training and Tutorials section of the Altova Web site.
XPath and XQuery are powerful functional programming languages for selecting and querying data in desktop or mobile applications – and, in fact, XQuery was added to the TIOBE Index in early 2016.
When you’re writing XPath and XQuery statements, it’s vital to ensure your expressions return the desired results, and this can be a frustrating process of trial and error. The XPath / XQuery Debugger in XMLSpy makes it easy to test and troubleshoot your code, in the very same window where you’re developing your expressions.
You’ve probably signed an electronic display recently to make a credit card purchase or accept a package delivery. Now Altova MobileTogether 2.0 lets you incorporate signatures into your own mobile apps for all platforms.
When we demonstrate MobileTogether at tradeshows, we often get asked this question: “So is it just a native app wrapper around HTML5 and JavaScript?” The simple answer is: “No.”
MobileTogether is a complete mobile app development framework that is based on our very own rendering and processing engine, which gives us a lot more flexibility and power to provide a true native app experience on each mobile operating system platform and also make important mobile platform functions that are not commonly accessible from JavaScript or HTML5-based web apps available to the developer.
Support for XPath and XQuery in XMLSpy got a major boost with Release 3 of Version 2015. In addition to adding support for the latest standards versions – XPath 3.1 and XQuery 3.1 – we’ve added innovative new tools for developing and testing XPath and XQuery expressions in the XPath/XQuery window.
These new tools make it much faster to develop, evaluate, and refine expressions and statements before adding them to larger XSLT or XQuery documents. This will save you time and frustration – because you can understand how each operator or function works and ensure that your expressions return the desired results immediately. I found the function descriptions and entry helpers especially helpful for learning how the new maps and arrays features in XPath/XQuery 3.1 are implemented.
Release 3 of the Version 2015 Altova MissionKit desktop developer tools and Altova server software products is now available with updated standards support, customer requested features, and innovative new functionality that will save you time on everything from XPath and XQuery development, to advanced data mapping, to XBRL report rendering and beyond. You can skip right to the good stuff and upgrade now, or click Read More below for all the details.
We are pleased announce version 1.4 of MobileTogether, Altova’s multi-platform mobile development framework that empowers organizations of any size to quickly design and deploy custom enterprise mobile solutions that are accessible on any mobile device.
Release 2 of Altova MissionKit desktop developer and server software products is now available for downloading. This release packs a punch, delivering enhancements that boost performance by two or even three times, as well as updated standards support – and a revolutionary new approach to speeding up XSLT execution called XSL Speed Optimizer.
Let’s take a look at some of these new features in depth.
We are very excited to be at the XBRL 26 Conference in Dublin, Ireland today to announce a brand new server product in the Altova family of XML and XBRL tools! Altova RaptorXML is a hyper-fast XML and XBRL validation and processing server. It’s Altova’s third-generation XML and XBRL engine, built completely from scratch to help organizations efficiently validate, process, transform, and query the vast and ever-increasing amounts XML and XBRL data being generated as a result of XBRL compliance regulations and myriad other big data trends. RaptorXML is written to be highly scalable for today’s multi-CPU and multi- core computers and servers. This, along with high performance code optimizations and an extremely low memory footprint, has helped make RaptorXML a lightning-fast XML and XBRL server that can meet the demands of today’s data processing applications. Simply put: we architected RaptorXML to combine the performance benefits afforded by modern parallel computing environments with strict compliance to the latest versions of all relevant XML and XBRL standards. RaptorXML includes support for the very latest versions of all relevant standards and has been submitted to rigorous regression and conformance testing. The server will be available in two versions, both of which are available for Windows, Linux, and MacOS platforms. RaptorXML Server supports validation and processing of:
XML 1.0 & 1.1
XInclude 1.0
Xlink 1.0
XML Schema 1.0 & 1.1
XPath 1.0, 2.0 & 3.0
XSLT 1.0, 2.0 & 3.0 (subset)
XQuery 1.0 & 3.0
And more
RaptorXML+XBRL Server supports all the features of RaptorXML Server, with the addition of processing and validating the XBRL family of standards:
XBRL 2.1
XBRL Dimensions
XBRL Formula 1.0
XBRL Functions
XBRL Definition Links
Developers creating solutions using Altova MissionKit XML development and XBRL development tools will be able to power their server applications with RaptorXML for hyper-performance, increased throughput, and efficient memory utilization, giving them the opportunity to validate and process large amounts of XML or XBRL data cost-effectively. Check out the complete list of supported XML and XBRL standards and more details on this groundbreaking new server product. RaptorXML will be available to download and purchase in May.
Altova MapForce includes the ability to define chained transformations. Chained transformations let you create complex mappings where the output of one mapping becomes the input to another. In other words, two or more components can be directly connected to a final target component.
In an earlier post we discussed connecting to Microsoft SQL Azure databases with Altova DatabaseSpy and demonstrated database schema comparison and content comparison between a local database and the same database migrated to SQL Azure. In this post we will use a different method to migrate an existing table to SQL Azure and show you some tricks you can do with XML in the cloud. We started by creating a new database schema in SQL Azure. Then we created a DatabaseSpy project with a connection to a local copy of SQL Server Express running the AdventureWorks sample database, and a second connection to our new SQL Azure schema. The AdventureWorks database contains a table called JobCandidate with some XML data we will use for a model for our SQL Azure XML contents. We can generate a CREATE statement for the existing table to use as a basis for the SQL Azure version. We need to modify this statement to execute in our SQL Azure database. In addition to changing the database and schema names, we will remove the foreign key constraint to the Employee table, since our new database doesn’t contain a table with that name. Also, SQL Azure does not support the CONTENT keyword, so we will remove that as well. After making sure the Properties window for the revised CREATE statement points to the SQL Azure database, we can execute the statement. When we refresh the database and expand our view in the Online Browser helper window, we can see the new empty table. A data comparison between the existing table and the new one will allow us to create a script to migrate data into our new table in the SQL Azure cloud. This is similar to the data comparison we wrote about in our previous post on SQL Azure, except instead of merging data directly, we will save the merge script. Our first attempt to run the merger script failed, throwing an error message that SQL Azure cannot insert values into the new table when IDENTITY_INSERT is set to OFF. We can add a line to the merge script to SET INDENTITY_INSERT ON and re-execute: Next, we can run a SELECT query to view the data that was successfully uploaded. The DatabaseSpy Data Inspector window lets us more easily examine the contents of a wide column, and is ideal to use for XML documents stored in the Resume column of the new JobCandidate table. Editing XML Data with XMLSpy If you need to revise, edit, update, or validate XML data in a SQL Azure database, Altova XMLSpy provides more robust XML editing features than DatabaseSpy. We can connect to our SQL Azure database from XMLSpy and run a SELECT query from the XMLSpy Database Query window. XMLSpy lets us open any XML row for direct editing, with access to advanced XML editing functionality. Of course all the familiar features of the XMLSpy text view and grid view are available. After your edits are complete, the XMLSpy File / Save menu option saves the revised XML document to the same row of the JobCandidate table in the SQL Azure database in the cloud. Parsing XML Data with XQuery You can also apply the XMLSpy XQuery editor, with its built-in knowledge of XQuery syntax and context-sensitive entry helpers to build XQuery statements that parse the XML data in your SQL Azure database. The XQuery statement below extracts and returns the home addresses from the XML resumes where JobCandidateID is less than 7. The XQuery statement can be executed in the Database Query window, with results immediately available to work with in XMLSpy. Of course the XQuery result can also be edited in Text view or in Grid view. And you can save the query result either from the Database Query window or from the XML Editor view. Find out for yourself how productive you can be by using Altova tools to work with XML data in the SQL Azure cloud ̶ download a free 30-day trial of the Altova MissionKit for Software Architects, an integrated suite that includes XMLSpy, DatabaseSpy, and additional XML, database, and UML tools.
More and more users are storing XML documents in database columns, especially when XML data is sent or received from other entities. Storing data in XML helps enterprises more easily accommodate revisions to industry-standard data formats as XML Schemas evolve over time. One challenge in migrating from a relational database to an XML-oriented database application is developing queries that replace traditional SQL queries of relational data to parse XML documents stored in the database. We recently had an opportunity to address XQuery for XML in databases in a presentation titled Altova Tools for DB2® in a teleconference sponsored by IBM® for the pureXML™ Devotees user group. After an introduction and brief background on Altova, we focused on the special functionality included in XMLSpy to manage XML Schemas in DB2 and to edit XML data stored in DB2. The XMLSpy Database Query Window makes it easy to edit XML database content directly in XMLSpy. Altova has built specialized capabilities for deep integration of Altova tools with the DB2 pureXML data server to help customers working with XML, XML Schema, XQuery, and other XML-related technologies. We demonstrated the XMLSpy XQuery editor, XQuery debugger and XQuery profiler, with support for executing XQuery scripts directly against the DB2 database and for the special DB2 xmlcolumn and sqlquery operators. We closed the presentation with a walk-through of the steps a user can take to migrate legacy relational data to an XML-based application, including inferring an XML Schema from relational data in a table in DB2, then importing data from the table and automatically tagging it in XML according to the new XML Schema. We have uploaded a PDF file the slides from the presentation on SlideShare. You can also get a copy at the IBM pureXML Devotees page, where you can listen to the recorded audio as well. The best way to experience for yourself how well the features of XMLSpy, MapForce, StyleVision, and DatabaseSpy work with DB2 and other databases with XML is to click here to download a free trial of the Altova MissionKit.