Tag Archive for: Altova XMLSpy

Three-Way File Comparison and Difference Merging


Manually comparing versions of a long XML Schema or document to find any differences would be a tedious and error-prone task. XMLSpy has long featured file comparison with highlighted differences in side-by-side windows with merging in either direction. And of course, DiffDog is the go-to comparison utility for text, source code, XML, JSON, and Word documents. Now both XMLSpy and DiffDog support three-way file comparison and difference merging.

Three-way file comparison is especially relevant for files managed in any source control system where two users may have started from the same source file and made different edits that need to be reconciled.

Read more…

Tags: , , ,

XPath Expressions for Data Reporting


In our earlier post titled Use XPath Expressions to Refine Data Selection, we described how to use XMLSpy to develop an XPath expression to select one table of data contained in a much larger data set provided by the US Department of Education.

An HTML report based on XPath data selection in StyleVision

We can reuse the work in XMLSpy to quickly create a StyleVision design for a report or an e-Form to communicate highlights from the data.
Read more…

Tags: , , , , ,

Stop by booth 535 next week at Oracle OpenWorld


clip_image004September here at Altova means ramping up for a busy Autumn, beautiful cool crisp days in New England and… flying out to San Francisco for Oracle OpenWorld 2013! If you are planning on attending come by booth #535 in Moscone South and see Altova from September 23 – 25th for a demo of Altova’s tools for Oracle Users and to see our new line of cross-platform server software products: RaptorXML Server, FlowForce Server, MapForce Server and StyleVision Server. See first-hand how thesclip_image002e new products offer high-speed automaton for projects designed using familiar Altova MissionKit developer tools.

We would love to hear from you about your latest projects and challenges, collaborate on best practices or let us show you some of the new exciting things Altova has to offer. While you are at our booth mention this blog post to receive a special giveaway. Hope to see you next week in San Francisco!

Tags: , , , , , ,

Use XPath Expressions to Refine Data Selection


In this era of big data we often need to simplify analysis and communication by creating customized views into sections of a larger file. XPath, short for XML Path Language, is designed to allow users to address parts of large XML documents. XMLSpy supports XPath with an XPath Analyzer window and in its interface for charting XML data, MapForce supports XPath functions for XML data mapping, and StyleVision supports XPath in conditional templates, extension templates, and template filtering.

faces-laptop

Read more…

Tags: , , , , ,

Web Service as a Look-Up Table to Refine GPS Data


Elevation data recorded by GPS devices is notoriously inaccurate, especially in hilly terrain like the Russian River Valley example from our earlier post.

The final elevation track plotted from the Russian River Valley GPX file is suspicious for several reasons. First, the graph shows we descended almost 50 feet below sea level. That’s hard to believe, since we were travelling along the bank of the river, only about 10 miles from the Pacific Ocean.

Altova StyleVision ChartSecondly, we were headed mostly west, following the river downstream, but the track shows a predominantly uphill trend.

We can evaluate the recorded GPS elevation data by comparing it to information available from the United States Geological Survey (USGS). The USGS operates a Web service that accepts latitude and longitude coordinates, and returns elevation data measured by NASA and assessed for accuracy based on over 13,000 control points in the continental United States.

Using the elevation Web service in an Altova MapForce mapping will let us extract each point from the GPX file, send the coordinates to the USGS Web service, and build a new GPX file with corrected elevation data.

Read more…

Tags: , , , , , , , , ,

Creating Elegant Reports for GPS XML Data


In our earlier post on XML for Global Positioning Systems, we mentioned that adventurers and athletes might want to use XML data from their devices to keep a record of their trips, or even training sessions leading up a marathon or other special event. Several colleagues responded by offering example files!

Looking through all this data, we realized that plotting elevation changes over time would show interesting results for many activities. We used XMLSpy to create this customized line graph directly from the XML data to show elevation vs. time for an afternoon of bicycling through California wine country. We even applied the vineyard photo as a background image right from the XMLSpy chart settings dialog.

Line chart generated by XMLSpy

Whenever you want to elegantly present data from multiple XML data files based on the same XML Schema, Altova StyleVision is the tool that lets you design a richly featured stylesheet for repeatable output in HTML, RTF, PDF, or Microsoft Word formats. Here’s how we did It for our GPS XML data:

Read more…

Tags: , , , ,

The Global Positioning of XML


XML is everywhere. If you don’t believe it, get a USB cable and connect a GPS device to a computer, then browse for any file with the extension .gpx. We quickly found a 2 MB file named Current.gpx on a Garmin GPS. Opening it in XMLSpy reveals XML data and an XML Schema assignment at the top.

XML Schema assignment in an XML file

Scrolling through the body of the file displays numerous <trkpt> tags that record latitude and longitude along with <ele> and <time> tags reporting the elevation, date and time at that location.

View of an XML file in XMLSpy

Any place you may go in the world, XML is there to tell you where you are.

Read more…

Tags: ,

Processing the Groupon API – Part 3


Concluding the series in this post, we will apply a stylesheet to transform the XML data created from our mapping of the Groupon API into HTML. Here is an example of the XML output from the data mapping we created last time: XML produced by MapForce from the Groupon API

Assign a Stylesheet to Transform XML The Component Settings dialog for the output component of the MapForce mapping allows us to assign a stylesheet created with Altova StyleVision.

Assigning a StyleVision Stylesheet to a MapForce component
Assigning a stylesheet to the data mapping output component integrates the operations of MapForce and StyleVision, and a new series of buttons appears at the bottom of the MapForce mapping window for HTML, RTF, PDF, and Microsoft Word formats. (You must have both MapForce and StyleVision installed on your computer.) MapForce ouput formats available through a stylesheet When you click any of these output format buttons, MapForce executes the data mapping exactly as we saw in the previous post. MapForce seamlessly passes the XML output to StyleVision, where it is transformed to the selected format. MapForce then displays the formatted document in the Output window. Here is the MapForce Output window for HTML, based on the StyleVision Power Stylesheet assigned above: HTML output produced by MapForce from the Groupon API The MapForce Output menu lets you save the XML data mapping output or the HTML document formatted according to the stylesheet. How to Make a Stylesheet We designed a stylesheet for the Groupon API data mapping using Altova StyleVision, based on the XML Schema for the MapForce output component. The intuitive StyleVision interface and powerful data access and manipulation features make it easy to create attractive documents in HTML, RTF, PDF, and Microsoft Word formats from XML files. The screenshot below shows the StyleVision Design View of the Extreme Groupon stylesheet. The blue numbered circles identify the location of each design feature listed following the image. StyleVision stylesheet for the MapForce Groupon API mapping Features of the SPS file

  1. User-defined html specifies the viewport meta tag for mobile devices. This lets us design one stylesheet to generate a single HTML file for computers and mobile devices
  2. Document title with customized font, size, and color
  3. An autocalc element uses the XPath count function to count the number of deals in the XML input document and inserts the total
  4. The date timestamp is placed at the top of the document even though the date element occurs at the end of the XML input data file
  5. Images from the Altova and Groupon Web sites are referenced by hyperlinks, not as inline image data
  6. Horizontal rules set off each individual deal. For HTML documents, the rules automatically fit the browser window width
  7. Customized fonts and sizes assigned to different elements
  8. A two-column table organizes each deal description
  9. URLs in the XML file are dynamically assigned as hyperlinks for embedded images, fixed text, and dynamic data

StyleVision Power Stylesheets can combine multiple .xsd files, existing .css stylesheets, database schemas, XBRL taxonomies, and more to produce richly formatted reports that can even include automatically generated charts in various styles. You can also use StyleVision to define e-forms with data entry fields, drop down menus, radio buttons and other advanced features. Previewing Stylesheet Transformations StyleVision lets you assign a working XML file to preview your output as you design the stylesheet, and the buttons along the bottom of the Design window make it convenient to display the formatted working file as you refine your design. We saved the XML output of the MapForce mapping and assigned it as our working document. When the stylesheet was complete, the HTML Preview in StyleVision was identical to the MapForce HTML Output window shown above. To view the document on a mobile device you can either deploy the HTML as a page on a Web site or email it as an attachment. HTML version of the MapForce mapped data on a mobile device In addition to the stylesheet itself and formatted versions of the working document, StyleVision lets you save generated XSLT files to transform other XML files using your stylesheet design outside the StyleVision application. Automation Next Time In the future when you want to re-run a data mapping and refresh the HTML document with up to date data, there are two ways to automate the process:

  • You can run MapForce from a command line with parameters to name the mapping definition file and even call StyleVision to create formatted output
  • You can generate royalty-free code for the mapping in XSLT, Java, C++, or C# to combine with the XSLT code from StyleVision to build your own end-to-end application

XMLSpy, MapForce, and StyleVision are all available together in the specially priced Altova MissionKit. See for yourself how easy it is to use the MissionKit to convert data from a Web API — download a free 30-day trial!
Editor’s Note: Our original series on mapping data from the Groupon API ran in three parts you can see by clicking the links here: Part 1 of Processing the Groupon API with Altova MapForce describes how to create dynamic input by collecting data from multiple URLs. Processing the Groupon API with MapForce – Part 2 describes how we filtered data from the API and defined the output to extract only the most interesting details. Processing the Groupon API – Part 3 describes formatting the output as a single HTML document optimized for desktop and mobile devices, and reviews ways to automate repeat execution.

Tags: , , , , , , , ,

Processing the Groupon API with MapForce – Part 2


In Part 1 of this series we described how to connect Altova MapForce to the Groupon API. We queried the API for a list of Groupon divisions, then used the list to create API queries for all the current deals from every division. In this part, we will execute the /deals queries and filter the response for the most interesting data. The list of /deals queries we built previously looks like this: List of Groupon /deals queries generated by Altova MapForce To process all the queries, we can connect the list as a dynamic file input to a new mapping component. When we needed a new component last time, we dropped an API /divisions query into the mapping, and let MapForce create an XML Schema automatically. We could do the same thing here by dropping in an API /deals query as an XML input file. There’s just one small issue — although the Groupon API online documentation clearly describes the queries we can make, it is vague about the information that will be returned. Before we send dozens of queries to the API for all the current deals, we probably want to know a little more about the data that will come back.

Let’s Make a Deal Like Yogi Berra said, you can observe a lot just by looking. Let’s start by running a /deals query in XMLSpy. That will let us examine the response to a query for one division before we pull in a potentially unwieldy volume of data. The XMLSpy File / Open menu includes the same Switch to URL option we used in MapForce in the earlier post. If we enter the /deals API query for a division that covers a large metro area – say Dallas – we are likely to get enough deals instances to extrapolate the characteristics of the entire data set. XMLSpy opens the response to the /deals API query in Text view just as if we opened a local file: Example from the response to a Groupon /deals query, shown in XMLSpy As expected, we got quite a bit of data when we requested all the deals for a single division! A fast way to analyze the structure of this data is to use the XMLSpy DTD / Schema menu option to generate an .xsd file from the xml. Shown below is a reduced view of the entire generated .xsd file based on the response to the /deals query for Dallas: An xsd file generated by XMLSpy from the Groupon query We can dig even deeper, following Yogi’s advice like déjà vu all over again. Expanding all the elements to review the XML Schema reveals some curious anomalies. For instance, there are two elements named redemptionLocation with different definitions. The first contains a sequence of child elements: First use of the remdemptionLocation element And the second is defined as a simple string: Second use of the remdemptionLocation element Going back into the xml data for Dallas and searching for redemptionLocation displays these examples: One example of redemptionLocation in the body of the response And: One example of redemptionLocation in the body of the response And: One example of redemptionLocation in the body of the response Now this is really interesting, because redemptionLocation = ”online” identifies deals that can be redeemed from anywhere, instead of by a visit to a bricks and mortar location in the division where they are advertised. What if we ran the /deals API queries for all divisions and extracted a list of all the online deals? That would be one extreme Groupon! Only Ask for What You Need The Groupon /deals API query supports an optional parameter called &show= that allows users to limit the data returned. Applying this parameter can save bandwidth and reduce processing time for the data transformation by removing unwanted data from the API response. We can also simplify our final result by including only the most interesting information, including the link to the Groupon web page for each deal. After we remove unwanted elements from the generated Dallas schema, our final version for the summary of online deals looks like this: XMLSpy Schema diagram of the simplified Groupon xsd file When we add the &show= parameter to our MapForce mapping to request only the elements included in the simplified XML Schema, the queries look like this: Modified list of queries with the &show= parameter Now we can drop the revised .xsd file into the mapping and connect the list of API /deals queries as dynamic input. We don’t need to delete the text file we used to collect the list of queries — that might continue to be helpful for future debugging. Mapforce dynamic input file mapping These changes complete the input side of the data mapping. Defining the Data Transformation Output Back in XMLSpy we can make a couple more revisions to the input XML Schema to design a new version for output: XMLSpy schema diagram of the output file xsd We discarded the response element since it doesn’t add any value, and eliminated the redemptionLocation element that we don’t intend to include in the output. We also added a date element for a timestamp, because our output file will be a snapshot of data that is constantly changing. After saving this version of the .xsd file in XMLSpy, we can drop it into the MapForce mapping. Shown below is the output side of the mapping with the output component partially connected. The filter at the top reads the redemptionLocation element to select only online deals and the now function inserts the date: Partial view of the MapForce output file mapping The last revision we made in the output XML Schema was to change several element types from dateTime, Boolean, and integer to the string data type to allow more descriptive text Here is the complete definition of the mapping with the final connections to the output component: Mapforce data mapping for the Groupon API Now for the Payoff When we click the Output button MapForce processes the entire mapping from beginning to end using the MapForce Built-in execution engine. Here’s a breakdown of the steps:

  • Run the /divisions query to get the current list of divisions
  • Concatenate strings to build the list of /deals queries for all divisions
  • Run the /deals queries to create dynamic data for the input component
  • Filter for online deals to generate the output component, execute the remaining mapping functions, and add the timestamp after all the deals are processed

MapForce takes only a few seconds to complete all those steps and generate an output file with a series of deals that look like this: Output data from the MapForce mapping for the Groupon API In part 3 of this series we’ll design a stylesheet to automatically transform the XML output of our mapping into html for attractive presentation in a web browser and on mobile devices. See ya at the ballpark, Yogi! XMLSpy and MapForce are available together in the specially priced Altova MissionKit. See for yourself how easy it is to use the MissionKit to convert data from a Web API — download a free 30-day trial!
Editor’s Note: Our original series on mapping data from the Groupon API ran in three parts you can see by clicking the links here: Part 1 of Processing the Groupon API with Altova MapForce describes how to create dynamic input by collecting data from multiple URLs. Processing the Groupon API with MapForce – Part 2 describes how we filtered data from the API and defined the output to extract only the most interesting details. Processing the Groupon API – Part 3 describes formatting the output as a single HTML document optimized for desktop and mobile devices, and reviews ways to automate repeat execution.

Tags: , , , , , , ,

Processing the Groupon API with Altova MapForce


We often think of a data integration project as a translation from one singular data input file to some other data set, but Altova MapForce lets you greatly expand the concept of an input file. For instance, the MergeMultipleFiles.mfd example installed with MapForce illustrates how you can use a filename with wildcard characters to merge multiple input files into a single output. MapForce MergeMultipleFiles.mfd example A MapForce mapping input doesn’t even need to be a physical file – it can be a URL that returns predictable structured data, like the APIs for popular Web sites like Groupon and many others.

In this blog post we’ll describe how to use Altova tools to retrieve, filter, analyze, and present data available from a Web-based API, using Groupon as an example. If you want to follow along yourself, you will first need to visit http://www.groupon.com/pages/api to request your personal Groupon API client key. The Problem: All Deals Are Local The Groupon Web site and email subscriptions are great for finding deals in your local neighborhood, but what if you’re looking for a deal to use on an upcoming vacation, or for a gift for friends or family across the country? Sure, you could enter each location manually at the Groupon Web page, but that’s so last century. Let’s use the Altova MissionKit to automate things. The Groupon API offers two URL queries that return data in .json or .xml formats: the first returns a list of all Groupon localities (called divisions), and the second returns current deals information for one named division. If we want to see all the deals for more than one division, we need to resolve multiple URLs and aggregate the data into a single result. Yes, MapForce can do that! First We Need a Schema The Groupon API documentation describes the elements that will be returned by our requests, but doesn’t provide an XML Schema. That’s okay, we can use MapForce to generate one. All we have to do is open a new mapping design and choose Insert XML Schema/File, then click the Switch to URL button. Now we can enter the URL to retrieve the Groupon divisions list: Inserting a new component into a MapForce mapping by URL When we click the Open button MapForce offers to generate the schema: MapForce offers to generate an XML Schema When we click Yes, the File / Save dialog opens. I saved the schema as divisions.xsd, and the mapping with the new XML Schema inserted looks like this: Generated .xsd as a new component in a MapForce design And the Properties dialog for the XML Schema component automatically contains the API /divisions URL as the Input XML File: Component properties for the generated .xsd Check the Work We want to filter the Groupon divisions data to build a list of id names to use for deal queries for each locality. But before we go any further, now might be a good time to apply the text file trick from the Quick Solution for Complicated Functions blog post to look at the id values. When we insert the text file and connect the divisions and id schema elements, the mapping looks like this: MapForce design with text file to preview output We connected the division element to Rows in the text file in order to generate a new row in the text file for each unique division, so that Field1 in each row will hold the id. Clicking the Output button now generates this result: MapForce Output window All we need to do is apply the concat string function to build the list of /deal URLs for all division IDs. The next step in the mapping looks like this: Using the MapForce concat function to build a string Rolling the cursor over the constant connected to value1 of the concat function displays its full definition: Definition of a MapForce string constant When we click the Output button to execute the mapping, the Output file now looks like this: MapForce Ouput window As a further review, we can open the generated XML Schema in XMLSpy and display it in graphical Schema View: Altova XMLSpy graphical schema view of the generated .xsd So far we have:

  • built a MapForce mapping that queries the Groupon API for all divisions
  • extracted the division id fields
  • and built a list of URLs for API queries to get the deals in each division

In the next post in this series we will process the list of deal queries as the input for a new mapping component and filter the output for some interesting information. Find out for yourself how easy it is to apply MapForce to convert data from a Web API! Download a free 30-day trial of MapForce.
Editor’s Note: Our original series on mapping data from the Groupon API ran in three parts you can see by clicking the links here: Part 1 of Processing the Groupon API with Altova MapForce describes how to create dynamic input by collecting data from multiple URLs. Processing the Groupon API with MapForce – Part 2 describes how we filtered data from the API and defined the output to extract only the most interesting details. Processing the Groupon API – Part 3 describes formatting the output as a single HTML document optimized for desktop and mobile devices, and reviews ways to automate repeat execution.

Tags: , , , , , ,

Use Built-In XPath Functions


In developing one of the Altova Online Training courses, I sorted a list of books by the authors. I realized that my author field was a string of the author’s full name, so the books were sorted by the first letter of the string, or the author’s first name. It did not fit into the course to fix the sorting, but you can easily extract the last name from a string and use it for the sorting key using XPath functions. If you then use the books’ titles for a secondary sort key, you run into an issue with titles that start with “A”, “An”, or “The”. I want to use the title for the secondary sort key, but ignore a leading definite or indefinite article.Output the book list with a  sort corrected using XPath expressions Let’s take a look at how we created this XSLT code.

This article was written using XMLSpy as the platform, but the same XPath expressions can be used inside MapForce or StyleVision to achieve similar results. We can start with a simple XML book list. We have 4 books with author and title nodes. List of three books An XSLT to create a list of the books would look like this: Output the book list without a sort This will generate the following output: Unsorted Book List The books are output in the order they appear in the original data file. If we add xsl:sort to the xsl:for-each loop, we can arrange our output in other ways. Output the book list with a basic sort This will generate a sorted list, but not sorted properly. Output from XSL with Basic Sort Sorting author as a string, results in “Jules Verne” appearing ahead of “Mark Twain”. Also, “A Connecticut Yankee in King Arthur’s Court” appears ahead of “Adventures of Huckleberry Finn”. We want to ignore the indefinite article, “A”, so that “Adventures of Huckleberry Finn” appears ahead of “A Connecticut Yankee in King Arthur’s Court”. We can use XPath expressions to extract the sorting keys we want. Output the book list with a  sort corrected using XPath expressions Let’s examine the code before we look at the output. We replace “author” with “reverse(tokenize(author, ‘ ‘))[1]”. Tokenize breaks the author string into tokens using a single white space as the break point. So, “Jules Verne” is tokenized into “Jules” and “Verne”. Reverse reverses the order of the tokens to “Verne” and “Jules”. The one in square brackets chooses the first item in the list, “Verne”. This is the value that is used in for the xsl:sort function to arrange the books. This is not the perfect solution, but it works in our case. The title looks convoluted, but the logic is straightforward. The “tokenize(title,’ ‘)[1]” expression extracts the first word of the title. So, the first if test is “Is the first word of the title the word “A”? “. If it is, then we return the substring of the title that starts with its third letter, thus eliminating “A” and the space. If the first word of the title is not “A”, then we need to test it again to see if the first word of the title is “The”. If it is, we use the substring of the title starting with its fifth character, thus eliminating “The” and a space. If we fail both tests, then we just pass the title along as the sorting key. We could add another test to our code to see if the first word is “An”, but it is not needed for this data set. Executing this last XSLT, we get the following output. Output from XSL with Corrected Sort “Mark Twain” is now ahead of “Jules Verne”. “Adventures of Huckleberry Finn” appears ahead of “The Celebrated Jumping Frog of Calaveras County” and “A Connecticut Yankee in King Arthur’s Court”. The flaw in our approach to the author string is that we want “Jules Verne” to be treated as “Verne, Jules” for the sort, so that if we had a book by “Jimmy Verne”, the sort would treat them as different authors. Our code does not. Using “concat(reverse(tokenize(author, ‘ ‘))[1], reverse(tokenize(author, ‘ ‘))[2])” would sort “Jules Verne” and “Jimmy Verne” correctly, but this solution only will work with 2 word names. If an author had a suffix (“Martin Luther King, Jr.”) or multiple words (“George Herbert Walker Bush”), the code would fail. There are many exceptions to the general rules on alphabetizing names, and the code to allow for all variants goes far beyond the scope of this article. What we wanted to show was the ability to manipulate XML data on the fly using XPath expressions. We do not always have complete control on the format of our data sources, but using the power of XPath expressions, we can transform the data into the format that we need. A copy of the files used in these examples is available here.

Tags: , , , , , , , ,

The Maryland Association of Certified Public Accountants (MACPA) transforms data to XBRL in-house


What is XBRL and how can it help your organization? Members of the Maryland Association of CPAs (MACPA) found out how using the interactive XBRL (Extensible Business Reporting Language) format can help not only larger, public companies, but also smaller, non-profit organizations like themselves.clip_image004 MACPA invested in the Altova MissionKit tool suite to support their XBRL project. Using our XMLSpy XML editor; MapForce, our graphical data mapping, conversion, and integration tool; and the StyleVision visual stylesheet and report design tool, MACPA was able develop a comprehensive system that employs XBRL data for a variety of reporting functions, both internal and external.
For example, MACPA used the generated instance document from MapForce to populate their financial Key Performance Indicator (KPI) system, significantly reducing the amount of time and effort required to prepare the KPI documentation. XMLSpy was used to extend the US-GAAP taxonomy to accommodate entries specific to MACPA. clip_image002 MapForce also came in handy for mapping the Global Ledger (GL) Taxonomy to the extended GAAP taxonomy. clip_image004 As a result, MACPA has increased its working knowledge of XBRL, automated previously burdensome data collection and transformation tasks, and have gained more insight into their financial data. To read more about how MACPA utilized the Altova MissionKit to convert all their financial data to XBRL and create a model for public and private business of any size to leverage the powers of XBRL, the latest case study from Altova is a must read! Do you have a story to tell about your use of Altova tools? If so, we want to hear from you. Case studies generate great publicity. Check out recent press coverage from the MACPA case study. Plus, if we choose to use your story you will receive a $200 Amazon gift card!

Tags: , , , , , , ,

Hot off the Press!


The industry is abuzz with the latest news announcing our release of the MissionKit Version 2011 Release 2. The release is loaded with new features for chart and report creation, enhanced data mapping capabilities, new XML Schema editing functionality, support for the latest version of BPMN, and a really cool new feature for comparing and merging Microsoft® Word documents. clip_image002 Dr Dobb’s and SQL Server magazine are just a few of the industry publications and blogs that covered the launch. clip_image004   clip_image003 Read what the industry is buzzing about and then download a free 30-day trial of the MissionKit and check out for yourself all the powerful new features now available in our suite of XML, database, and UML tools!

Tags: , , , , , , , , , , , , , , , , ,

Using Charts to Effectively Communicate Data


Altova first added support for charts and reporting the Altova MissionKit with the launch of Version 2011 last September. The v2011 reporting functionality includes options for line charts, 2D and 3D bar charts, 2D and 3D pie charts, round gauge and bar gauge charts. Here are a few examples: Charts created with the Altova MissionKit v2011

Advanced chart features in v2011r2

Version 2011 Release 2 of the Altova MissionKit, introduced on February 16, adds an exciting group of enhancements to the chart and reporting features in XMLSpy, StyleVision, and DatabaseSpy. The chart design options and user interface work the same way in all three applications, so MissionKit users can work intuitively and productively as they move from processing XML data in XMLSpy, to preparing charts for a business intelligence report with StyleVision, and even when they create graphical displays directly from SQL query results in DatabaseSpy. The wide range of new customizable charting features introduced in version 2011 release 2 includes:

  • Stacked Bar charts
  • Area charts
  • Stacked Area charts
  • Candlestick charts
  • Chart overlays
  • Background images and color gradients
  • Ability to change position of axis labels
  • And more!

Now you can create attractive and informative charts to represent a wide variety of data sets without exporting data to a dedicated charting application. Charts created using the Altova MissionKit are not limited to any specific presentation technology – for instance you can use StyleVision to include charts in HTML, Microsoft Word, RTF, or PDF documents, or you can save charts created in DatabaseSpy in a variety of image formats at the custom resolution you specify. In this post we will show some examples of the new charts and features available in all three MissionKit reporting and charting applications – XMLSpy, StyleVision, and DatabaseSpy.

Stacked bar charts

Stacked bar charts are a variation on bar chart presentation and are especially useful when multiple ranges of data need to be illustrated. Stacked bar charts are also useful to more clearly illustrate data in a smaller area. The image below shows a stacked bar chart to illustrate the performance of a sales team by region over two years Stacked bar chart Note that the combined height of each stack in the Stacked Bar Chart represents the total sales over the two-year period for each Territory, since the sales for Last Year are added above the Year To Date numbers. Stacked bar charts complement regular bar charts and 3-D bar charts to offer users the greatest flexibility in illustrating SQL query results. If the user prefers horizontal bars, a checkbox labeled Draw X and Y exchanged in the Change Appearance tab selects that orientation. Chart orientation option Horiztonal stacked bar chart This orientation option is also available for other 2-D bar charts, line charts, area charts, and candlestick charts.

Area charts

Area charts are similar to line charts, with shading applied to make a more graphically appealing display. The area chart below shows a record of temperature and humidity changes by hour over the course of one day. Creative application of color can emphasize the point! Area chart To successfully build an area chart, the analyst must consider the values in each data category. As the area chart is constructed, each category forms an opaque layer on top of the layers for data retrieved previously. In the case illustrated above, Temperature was always a larger number than Humidity, so a SQL query was constructed in DatabaseSpy to retrieve the Temperature value before Humidity to prevent Temperature from acting like a curtain to hide the Humidity data. However, if the data columns appear in a sequence with values in increasing order, the last layer would overlap and hide all the preceding layers. In that case, the chart tab heading titled Select Data lets the user add and delete columns from the results to re-sequence the data correctly. The Select Data column also lets the user edit the names assigned to each column on the X-axis label. Select Data dialog As alternative solution, the Transparency option in the Change Appearance tab lets the user adjust color levels to allow hidden layers to show through.

Transparency dialog

Stacked area charts

As implied by their name, Stacked Area charts layer the columns of a data set to illustrate the overall sum of a data series. Stacked Area charts also eliminate the potential overlapping data problem that can occur with regular area charts. The chart below shows a table of air passenger revenue miles traveled by month, with individual regions for domestic and international travel. Stacked area chart The Stacked Area chart creates a graphical representation of the total of Domestic and International miles, even though the total miles value was not part of the provided data. This is apparent at the top of the January entry, where the International region intersects the Y axis just below 600 (the original data showed 392 million Domestic miles and 181 million International miles, for a total of 573). A strategic data analyst will always consider the nature of the data to be reported when choosing any particular chart type. For instance in the weather example we used above, adding temperature and humidity values in a stacked bar chart would not be logical!

Candlestick charts

Candlestick charts were originally developed by a wealthy Japanese businessman who began trading at the local rice exchange around the year 1750. He kept records of the local market psychology, learning to boost his profits by carefully monitoring prices and not rushing into trades. Today, charts are used to represent financial data such as stock prices over a period of time. Every day the market is open, each stock has four relevant data points that can be rendered in a candlestick chart: the price at market opening, the price when the market closed, the high price during the day, and the low price during the day. Investors and financial analysts like to view these indicators to gauge the stock’s performance over a period of time. In the candlestick chart below, each solid bar represents the range between the opening and closing price and the thin vertical line through each bar shows the extent of the high and low prices for the day. Candlestick chart In this version of the chart, following common convention, the color of each bar signals whether the stock was up or down for the day. If the bar is green, the stock was up for the day– it opened at the price indicated by the bottom of the bar and closed at the price indicated by the top. If the stock was down for the day, the bar is red and the symbolism is reversed – the stock opened at the price indicated at the top of the bar and closed at the price shown by the bottom. Numerous options are available to set line and fill colors, the Y-axis range and values, and more. Because they were intended to be printed in black and white, the original candlestick charts used empty bars to indicate the price increased and solid bars to indicate price decreases. The Altova MissionKit offers this option: Candlestick chart in black and white Another candlestick chart variation omits the opening price and simply illustrates the range by a vertical line and the closing price by a horizontal line. This option is automatically supported when a data set only includes the high, low, and closing prices. Candlestick chart without opening price

Chart overlays

The Overlays feature lets you combine multiple charts in a single image. Each overlay chart has unique settings and can even be generated from a separate data file. The image below shows a candlestick chart of a stock’s daily prices with the daily sales volume in a bar chart overlay. Candlestick chart with bar chart overlay

Support for background images & color gradients

The ability to specify background color gradients and background images gives you even more flexibility for creating customized, eye-catching charts. Overlaying one chart on another lets you visualize multiple data sets with different Y-axes and types. Area chart with a background image The Change Appearance dialog lets users select a background image, as in the Winter Games chart above, or apply a background color gradient, as in the Summer 2010 chart below. Change Appearance dialog Bar chart with a line chart overlay and background color gradient If you’d like to see for yourself how easy it is to use Altova tools to create attractive charts from XML and database data, download a free trial of the Altova MissionKit.

Tags: , , , , , , ,

What Do Industry Authors Have to Say About Altova?


Authors of various industry reference books ranging from SOA and Web services to XML continue to use and recommended Altova tools. The latest update to the Cold Fusion book series – “ColdFusion 9 Developer Tutorial” is an update to John Farrar’s “ColdFusion 8 Developer Tutorial”. In this latest update, Farrar uses the Altova MissionKit, our suite of XML, database, and UML tools to do all his XML work for the book. According to Farrar, “I have a suite of tools from Altova and find they do what I want. I can create XPath, XML Schemas, and more from their tools and don’t ever feel the need to look for a new tool.” ColdFusion9_Farrar Farrar, a ColdFusion expert, teaches the basics of ColdFusion programming, application architecture, and object reuse. He then shows off a range of topics including AJAX library integration, RESTful Web Services, PDF creation and manipulation, and dynamically generated presentation files. So whether you need an overview of XML technologies, the latest information on working with ColdFusion, or want to delve into Web services, you’ll want to check out the Altova Reference Books page on our Web site.

Tags: , , , , , , , , , , , ,

Introducing XMLSpy 2011 Chinese Language Edition


We are thrilled to announce that with the release of Version 2011, XMLSpy is now available in a Chinese language edition. The new fully localized Chinese edition of the XMLSpy XML editor provides the same powerful functionality found in the English, German, and Japanese versions for editing, transforming, and debugging XML-related technologies. With the release of Version 2011 XMLSpy also adds ground-breaking new support for creating eye-catching charts based on XML data, making it the first and only XML editor on the market to support chart creation. XMLSpy 2011 also delivers several new customer-requested features, including a new schema flattener, extended SOAP validation capabilities, and enhanced functionality for creating schemas. ChineseScreenshot For our current XMLSpy 2011 customers you can unlock any language version using your existing key code. If you’re not an XMLSpy user download a free trial of XMLSpy 2011 to begin using all of the powerful new functionality available in Version 2011. Our decision to bring the localizations services in-house demonstrates our commitment to the Chinese market, and allows us to pass that cost savings on to you, our customers. The Chinese language version of Altova XMLSpy 2011 is currently available in Professional and Enterprise Editions and is available for purchase now from the Altova Online Shop or through your preferred reseller. XMLSpy 2011中文版本推出 我们很激动地宣布2011版本的发布,XMLSpy现在已有中文版可用,新的完全本地化的中文版XMLSpy XML编辑器如今可以提供英语,德语和日语多语种的编辑,转换和调试XML相关的技术,随着2011年的版本,我们还增加了突破性的基于XML数据创建醒目图表的支持,使之成为商场上第一个和唯一一个支持图表创建的XML编辑器,除此以外,我们还添加了多个客户要求的功能,这些功能包括新模式拼合,扩展的SOAP验证和为创建模式增进的功能。 ChineseScreenshot XMLSpy 2011当前的用户可以使用现有的键码解锁全部语言的版本,如果您还不是我们的用户,您可以下载免费试用版本,开始尝试2011版的强大新功能。 我们的本地化决定证明了我们致力于对中国市场的决心,使我们有机会帮助用户来节约成本,价格从136欧元或15232人民币起,标准,专业和企业版都具备中文版本,您可以通过Altova网店或其他首选经销商购买。

Tags: , , , , , ,

Using Altova Tools to Work with XML Data in the SQL Azure Cloud


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. DatabaseSpy Project helper window The AdventureWorks database contains a table called JobCandidate with some XML data we will use for a model for our SQL Azure XML contents. AdventureWorks JobCandidate table in the DatabaseSpy Online Browser window We can generate a CREATE statement for the existing table to use as a basis for the SQL Azure version. CREATE statement for the existing JobCandidate table 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. Modifying the CREATE statement in a DatabaseSpy SQL Editor window 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. New table viewed in the DatabaseSpy Online Browser window 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. DatabaseSpy Merge Data dialog 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: Merge data script viewed in a DatabaseSpy SQL Editor window Next, we can run a SELECT query to view the data that was successfully uploaded. Select query and Results viewed in DatabaseSpy 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. DatabaseSpy Data Inspector window 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. XMLSpy Database Query view of XML data in the SQL Azure cloud Of course all the familiar features of the XMLSpy text view and grid view are available. XMLSpy Text view of XML data in the SQL Azure cloud XMLSpy Grid view of XML data inthe SQL Azure cloud 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. XMLSpy File / Save menu option saves XML data to the SQL Azure 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. XMLSpy XQuery editor for XML data in SQL Azure The XQuery statement can be executed in the Database Query window, with results immediately available to work with in XMLSpy. XQuery statement and results inthe XMLSpy Database Query window Of course the XQuery result can also be edited in Text view or in Grid view. XQuery result in XMLSpy Text view XQuery result in XMLSpy 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.

Tags: , , , , , , ,

Working with XML in Databases


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. XMLSpy_editDB2_blog 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.

Tags: , , , , , , ,

XMLSpy 2010 日本語版のご案内


XMLSpy 2010 は、バージョン 2010 の Altova 製品としては初めての日本語版製品となります。新たに日本語化された XMLSpy XML エディターは部分的に翻訳されていた既存のバージョンを置き換え、ユーザは英語ならびにドイツ語版で既に利用可能な XML に関する全ての編集、変換、そしてデバッグといったパワフルな機能を利用することができます。 XMLSpy 2010 は完全に翻訳された初めての日本語版製品となりますが、他の製品の日本語版も数か月中にリリースを予定しており、その後日本語のリファレンスマニュアルならびにウェブサイトが続くことになります。地域化サービスを社内で行うことで、日本市場に対する我々のコミットメントを示し、削減した経費を顧客に還元します。 XMLSpy 2010r2 を既にお使いのお客様は、既存のキーコードを入力することにより全ての言語のバージョンでロックの解除を行うことができます。または、30日間の無料トライアル版の XMLSpy 2010 をダウンロードすることで、バージョン 2010r2 で利用可能な全てのパワフルな機能を使用することができます。 Downlaod Japanese versions of Altova software XMLSpy バージョン 2010r2 はネイティブ64ビットへの対応を含め、多数のスピードならびにパフォーマンスの向上が図られています。100MB以上の XML ファイルを使った作業を行う場合、64ビットのオペレーティングシステムに最適化されたスピードとパフォーマンスの恩恵にあずかることができます。新しい64ビットバージョンの XMLSpy 2010 にて非常に巨大なファイルを使った作業を行う際には、マシンに搭載されているメモリの容量が唯一の制限になります。 日本語版の Altova XMLSpy 2010r2 には現在スタンダード、プロフェッショナル、そしてエンタープライズエディションが用意され、価格は149ユーロ (約18,200円) からになり、現在 Altova Online Shop または小売店を通してお求め頂けます。 Introducing XMLSpy 2010 Japanese Language Edition XMLSpy 2010 is the first product in Altova’s all-new Version 2010 Japanese product line. The new fully localized Japanese edition of the XMLSpy XML editor replaces the previous partially translated version and allows you to take advantage of the same powerful functionality available in XMLSpy’s English and German counterparts for editing, transforming, and debugging XML-related technologies. XMLSpy 2010 is the first product to be completely translated but we have plans to release Japanese language versions of our other products in the coming months, followed by Japanese reference manuals and a Japanese Web site. Our decision to bring the localizations services in-house demonstrates our commitment to the Japanese market, and allows us to pass that cost savings on to you, our customers. Current XMLSpy v2010r2 customers can now unlock any language version using your existing key code, or download a free trial of XMLSpy 2010 to begin using all of the powerful new functionality available in Version 2010r2. Download Japanese versions of Altova software XMLSpy Version 2010r2 delivers several new speed and performance enhancements, including a native 64-bit version that allows you to take advantage of the speed and performance optimizations associated with 64-bit operating systems while processing XML files that are 100 MB or larger. With the new 64-bit version of XMLSpy 2010, the only limitation for working with very large files should be the available memory on your machine. The Japanese language version of Altova XMLSpy 2010r2 is currently available in Professional and Enterprise Editions and is available for purchase now from the Altova Online Shop or through your preferred reseller.

Tags: , , , ,

HL7 and XML Healthcare Data Integration at HIMSS10


Altova is kicking off the 2010 trade show season with our first participation in the annual conference of the Healthcare Information Management Systems Society (HIMSS). The HIMSS10 conference will be held on March 1-4 at the Georgia World Congress Center in Atlanta. We’re looking forward to demonstrating the functionality in XMLSpy 2010 for editing, analyzing, and validating HL7 healthcare data. We will also show how MapForce 2010 can map older EDI-based legacy healthcare records to the latest XML-based HL7 v3.x standard. The example below shows a simple MapForce mapping to update an HL7 v2.6 message to v3.x. MapForce mapping for HL7 This will be our first opportunity to demonstrate the new Altova MissionKit 2010 Release 2 with significant speed and performance enhancements across the product line. Come see the new 64-bit versions for yourself, or download a free trial today. If you are one of the expected 30,000+ attendees traveling to Atlanta for HIMSS10, stop by and see us at booth 5744. Or click here to get more information on the Altova MissionKit and HL7.

Tags: , , , , , ,

A Developer’s Life is Never Simple


Earlier this month in our blog post on Comparing XML Schemas we showed a realistic – but simplified – example to illustrate a slick new feature of DiffDog 2010 to compare XML Schemas and update corresponding XML data files by generating XSL transformations.
A real-life XML developer’s project is rarely as small and straightforward as the example we used. In this post we will take a look at some typical complications developers face every day and how the Altova MissionKit cuts through complexity to enhance productivity.
Longer XML Schemas and Larger Mappings
Your XML Schemas are not likely to be as short and simple as the ones in our earlier post, and you will likely want to save your work while you are mapping your XML Schema migration. DiffDog lets you save your mapping in an XML Schema comparison file that you can reload later to continue your work, or to share with a colleague.
DiffDog Save XML Schema Comparison dialog
If you need to compare two XML Schemas on a regular basis, the XML Schema Comparison Document can be a valuable time saver.
Embedded XML Schema Assignment
The screen shot below shows the XML data file from our original example with one important difference. In this version the story element includes an embedded reference to the XML Schema on line 2.
XMLSpy XML Editor view
When we transform this file with the simple XSLT we created in DiffDog, the new XML data file will not include the updated XML Schema reference. In our earlier blog post embedded XML Schema references weren’t an issue because we used the XMLSpy Project / Properties menu option to assign default XML Schemas for each folder.
If there are many XML data files to transform, and they require embedded XML Schema references, we can take advantage of an additional feature of MapForce. We can export our mapping from DiffDog to MapForce, as we did in the earlier post, and then use the Component Settings dialog for the MapForce output component to include the XML Schema reference.
MapForce Component Settings dialog
Document Your Work
Developers can lose productivity trying to retrace history when a project needs additional work months or even years after an early iteration. The MapForce Generate Documentation feature can help us avoid this frustrating experience.
MapForce will document the mapping of each element in the XML Schemas in Microsoft Word, RTF, or HTML formats. Regardless which format we choose, the resulting document is an excellent stand-alone project artifact, or it can be further edited and included in a larger report.
MapForce Generate Documentation dialog
We can even combine the MapForce mapping documentation with full descriptions of each version of the XML Schema generated with the XMLSpy XML Schema Editor documentation feature.
Source/Version Control
Source/version control systems let teams of developers work closely together on the same project without a risk of overwriting each others’ changes. Because a version of the source code is saved at each stage of the design process, it is very easy to look at or revert to an earlier version when needed.
Altova has implemented the Microsoft Source Code Control Interface (MSSCCI) v1.1 – v1.3 in XMLSpy and tested support for many popular source control systems, so we can manage the files in our XML Schema evolution project across the development enterprise. Additionally, DiffDog can be integrated with source control systems as the default comparison tool. DiffDog can even generate differences report files in a variety of formats.
See for yourself how the tools in the Altova MissionKit can cut through the complexity of your own XML, Web Services, data integration, XML publishing, XBRL, and UML modeling development projects – download a free 30-day trial!

Tags: , , , , , , , ,

Comparing XML Schemas with DiffDog 2010


DiffDog 2010 includes a powerful new tool to compare XML Schemas that XML developers and others can use to update existing XML data files as XML Schemas evolve. This post takes a look at an example scenario for this feature.Before we drop into the new functionality, let’s take a quick look at two XML Schemas using the DiffDog File Compare feature. Of course, just like in previous versions, DiffDog 2010 users can compare XML Schemas as .xsd documents and display differences in a color-coded, XML-aware format.DiffDog file comparison view of XML Schemas This is a good way to identify and manage differences in XML Schemas, especially when you want to review revisions to industry-standard XML Schemas that evolve over time.What’s new in DiffDog 2010 is an additional XML Schema Differencing option that graphically displays two XML Schemas side by side, identifies identical elements automatically, and lets users map differences and generate XSL transformations to update XML data files.Here’s our first view when we open the same two XML Schemas shown in the file comparison above, using the new XML Schema Differencing feature.Initial DiffDog XML Schema Differencing view of XML Schemas The root elements of the two XML Schemas are automatically connected. We can click the Compare button in the toolbar to automatically connect identical elements in the two XML Schemas.DiffDog XML Differencing (Of course we could also select Compare XML Schemas from the right click context menu, or choose Start Comparison from the Diff and Merge menu, or press the F5 keyboard shortcut – DiffDog gives you many options to perform the same task, so you can work the way you like.)Next, we can map elements with different names in the two XML Schemas by manually connecting the pointer arrows between them. In this example most of the changes to the version of the XML Schema on the right simply give elements new names that will be more clear when the XML Schema and its data files are distributed through our enterprise.User-mapped XML Schemas in DiffDog XML Schema Differencing view When all the elements are mapped, we can generate an XSLT file to transform existing XML data files based on the XML Schema on the left to reflect revisions in the newer version on the right. This feature is designed to rescue XML developers from the tedious tasks of writing and debugging XSL transformations by hand.DiffDog Diff and Merge Menu Here is an example of an original XML data file based on the XML Schema on the left side, as viewed in Altova XMLSpy:XML data file viewed in XMLSpy The output file after applying the XSL transformation we created with DiffDog 2010 appears below. Note the substitution of the author element for writer, email for feedback, and so on.XSL output viewed in XMLSpy If there are many existing XML files that need to be transformed, the Project Management features of XMLSpy can help us automate the process. We can add external folders to an XMLSpy project.XMLSpy Project Helper Window Using the XMLSpy properties dialog for each project folder, we can assign default values to assign an XML Schema for validation, the XSL transformation, and the destination of the output.XMLSpy project folder properties dialog Now we can select the input folder in the XMLSpy Project helper window and transform all the files in it with the single-keystroke F10 shortcut.When we originally mapped the XML Schema elements in DiffDog, we left the publication element on the left side unconnected, since it had no corresponding element in the earlier version of the schema. That means when we transform XML input files using the XSLT, the resulting output will not contain the publication element. If publication is a required element, we can call on Altova MapForce for a quick solution.One of the options in DiffDog is to generate a MapForce mapping rather than XSLT. When we choose this option, MapForce launches with our DiffDog mapping already loaded as a new MapForce design, as shown below.MapForce New Design It’s easy to enhance the mapping by adding a constant as a default value for the publication element.MapForce enhanced design Now we can save an XSL file from MapForce that reuses all the element mappings we originally designed in DiffDog and adds the constant. When we apply the new XSL to transform our original XML data file, we get a result that includes the default value for the publication element.Final version of output viewed in XMLSpy This post started by describing the new XML Schema Comparison feature in DiffDog 2010. Fleshing out a simple – but typical – real-world example quickly highlighted additional tasks easily completed by taking advantage of tight integration with XMLSpy and MapForce.All three of these tools and more are available at substantial savings in the Altova MissionKit 2010, the integrated suite of XML, database, and UML tools designed to meet the diverse development and data management needs of today’s software architects and XML developers. Click here to download a free trial today!

Tags: , , , , , , , , ,

Report from Microsoft PDC


We always enjoy meeting developers who currently use Altova tools and others with projects our tools can help them complete. This year’s PDC in Los Angeles was no exception – great weather, great camaraderie, and a brand new Version 2010 of the Altova MissionKit to demonstrate and talk about. Below is our short YouTube video of PDC highlights. If you were there, see if you can spot yourself in the crowd. If you didn’t get to go this year, we’re sorry we missed you.  

  Wanted2 And don’t forget to check out Version 2010 of the Altova MissionKit online. Version 2010 is packed with over 70 new features that were requested by our current users. Our What’s New page describes highlights of the major new functionality in XMLSpy and the other Altova developer tools. If you are covered by a current SMP plan, your update to v2010 is free. If you need to purchase an upgrade, click here to visit the Upgrades page on our Web site. The Altova Upgrades page describes all the details and connects to our online Upgrade Wizard to get started right away. You may be eligible for a discount of up to 40%! Our trip to Microsoft PDC wraps up the Altova show season for 2009. We hope to see you in person at another event next year.

Tags: , , , , , , , ,

Altova at Microsoft PDC


clip_image001The Altova road trip continues as we head west to Microsoft PDC in Los Angeles from November 17-19 at the Los Angeles Convention Center. If you’ll be attending PDC, make sure to stop by and meet with the Altova team at booth 517. We’ll be demonstrating all the Most Wanted features of Version 2010, our latest software release that includes XBRL enhancements in XMLSpy, support for WSDL 2.0 in XMLSpy and MapForce, a new absolute positioning design paradigm in StyleVision, database schema conversion in DatabaseSpy, and much more. With the new emphasis on software modeling in Microsoft development tools, you’ll want to check out SysML and all the other new functionality in UModel 2010. We love L.A., but if you’re not going to PDC this year, be sure to check the Altova blog again later for updates about the event and more details about Version 2010.

Tags: , , , , , , , , , , ,

What to Do On a Rainy Day in San Francisco?


That was the question for 30,000-plus attendees at Oracle OpenWorld 2009 last week, when weather forecasters were predicting the remnants of a Pacific typhoon would hit San Francisco with winds up to 60 miles per hour and drop rainfall measuring multiple inches. A rainy day in San Francisco Fortunately, the best attractions were all indoors. Oracle OpenWorld is one of the largest events held each year at the Moscone Convention Center. The keynote speeches, conference seminars, and partner exhibitions fill all three buildings. Even Howard Street between the North and South halls is closed for an entire block to create room for the lunch pavilion. Oracle OpenWorld is the best place to come for face-to-face education and interaction on all subjects related to every facet of the Oracle ecosystem. Altova is an Oracle Partner and this is an event we look forward to every year. The Altova MissionKit provides extensive support for database management, query, and design; database integration; database differencing; and database content editing. Altova at Oracle OpenWorld We love to meet users whose Oracle databases contain XML and show off features like support for Oracle XML DB data modeling, and the XQuery editor, debugger, and profiler in XMLSpy. We love to talk to users whose Oracle databases don’t contain XML yet, so we can demonstrate how to derive an XML Schema from the tables and relationships in a non-XML database. We also like to meet users who sometimes interact with databases other than Oracle, since the database functionality in Altova tools is never restricted to a single database technology. Due to the Oracle acquisition of Sun this year, MySQL was a popular subject. Our DatabaseSpy demo in the Altova booth highlighted simultaneous connections to Oracle and MySQL databases with interactive functionality to compare and merge data between tables in different database types. With convenient shuttle service from all the area hotels to Moscone, the question became not “What to do in the rain?”, but “What to do first?” Conference sessions covered every topic from databases to applications, to middleware, to specialized industry topics, and even XBRL. In Moscone West the Oracle Demo Grounds were always busy, with dozens of individual stations simultaneously active. The Altova booth was a popular spot, as were displays by other Oracle partners, including Amazon, Salesforce, and many more. To refresh and recharge, there were lots of fun things to do too. We even saw evidence that Paul and Ringo might have been there. They left their instruments Best yet, when we stepped outside after a long, productive day, the rain had stopped and we were presented with a warm San Francisco night. Check out our Oracle Openworld 2009 video slideshow on YouTube to see more:

Tags: , , , , , , ,

HubKey Case Study


  Overview HubKey is a technology company offering e-commerce solutions and services to small and mid-sized organizations. Their flagship product, ILXA, is a hosted application that uses the document and workflow management capabilities of Microsoft Sharepoint, combined with the power and flexibility of Altova MapForce and XMLSpy, to deliver a scalable, end-to-end, business-to-business (B2B) solution for outsourced EDI. ILXA builds an intuitive user interface and superior content management controls and functionality around e-commerce/EDI data sources, giving customers the freedom to quickly and accurately process electronic transactions without the need for costly software and hardware systems.   The Challenge The HubKey team wanted to build a comprehensive EDI management and translation system that would give their clients the ability to track their EDI transactions across a customized workflow and also transform the messages into virtually any other data format. EDI systems are required to handle a large and constant flow of transactions going back and forth between trading partners. While the actual volume of the data being transmitted is often very small, the amount of individual communications can be overwhelming. HubKey ILXA contains the chaos of EDI automation by giving organizations the ability to view and manage tasks and processes in batches or on-the-fly. Recognizing an increasing demand for B2B integration systems that comply with both EDI and XML, HubKey decided to build a platform that had powerful support for both data formats and could generate application code to automate these translations. Complex EDI-XML and XML-EDI mappings would run behind-the-scenes, but users would be able to access these mappings, as well as the raw data, for quality assurance and error fixing.   The Solution HubKey ILXA is a hosted e-commerce solution that gives non-technical end users the ability to seamlessly manage their EDI transactions without being exposed to complex data syntax. To easily manage the document workflow, HubKey chose to build their system on top of the Sharepoint platform, creating a customizable .NET application with advanced functionality for a collaborative workflow environment. The ILXA system draws upon the versatility and quality control capabilities of XML, with EDI-XML conversion powered by Altova MapForce. The end result is sophisticated translation software combined with validation and workflow management capabilities, all in one easy-to-use system.

  • Translator – performs virtually any to any document translation for integration with backend ERP and accounting systems or trading partner requirements
  • Tasks Engine – gives users a Web-based interface through which to view and orchestrate document management tasks
  • Business Rules Engine – handles data validation, alerts, substitutions, and more through generic or specific processing rules devised by the user

1hubkey_diagram ILXA is delivered to customers in the form of a personalized, secure Web portal. Connections are easily set up between backend accounting/ERP systems (including technologies from Microsoft, Sage Software®, Exact®, and Intuit®) and member trading partners for sending and receiving messages via virtually any connectivity option (AS2, VAN, HTTP, etc.). The modularity of the ILXA system, combined with the experienced solution providers at HubKey, work together to make setting up the system a seamless process that can be implemented and up and running within 24 hours.

Translator Using the data transformation and code generation capabilities of MapForce, ILXA translates raw EDI data into XML based on generic XML Schemas (developed using Altova XMLSpy) stored on the system. Once in XML, the data becomes much more usable within the Sharepoint environment, enabling users to work easily with messages and respond to tasks. Non-technical users can create workflows, assign tasks, and send and receive messages within the ILXA interface without even seeing a line of EDI or XML code.   2hubkey_sales_order   However, if changes or adjustments need to be made, ILXA customers are given the freedom to apply these in-house using the data maps saved in the SharePoint document library. MapForce’s intuitive graphical interface enables users to redraw connections, add functions from the function library, and apply filters to the mappings. Any saved changes cause compiled code to be saved back to the system and will affect ensuing automated transformations. 3hubkey_edit_mapforce   4hubkey_mapforce_thumb   MapForce generates program code in Java, C++, and C#. HubKey opted to have code generated in C# to make it easily consumable by the Sharepoint platform. 5hubkey_c_sharp   Once the data has been translated, users can even launch XMLSpy to view and make changes directly in the XML. The generated XML displays the original EDI format in the file for an easy comparison. 6hubkey_xmlspy   Using MapForce, ILXA can also be easily configured to convert data into other EDI specifications, databases, flat files, Microsoft Excel 2007, and Web services. Tasks Engine The ILXA Tasks Engine enables users to manage advanced workflows, as well as track and resolve processing and validation errors that occur during the translation process. Users can view all of the documents in their workflow and take actions based on their status. Once an issue has been resolved, the document translation automatically resumes. 7hubkey_sales_docs   The ILXA Tasks Engine builds upon the advanced capabilities of Sharepoint to make a document management and publishing system that is ideal as an EDI/e-commerce solution. Users can easily assign, resolve, and review tasks in a secure setting based on assigned permissions and defined roles. The ability to streamline these vital business processes in one central application helps increase the quality and consistency of error-prone large-scale message translation and transmission. Business Rules Engine HubKey’s patent-pending Business Rules Engine provides customers with a powerful tool for implementing specific rules based on documents, trading partners, and/or date/time parameters. This gives organizations the ability to apply filters to transactions based on customized definitions and constraints that apply to a particular situation. 8hubkey_business_rules   The HubKey team offers its customers the option to have their business rules set up and implemented, or the training to do so in-house.

The Results ILXA breaks down the barriers to costly EDI implementation, giving organizations an affordable, flexible, and reliable alternative to fully outsourced solutions through a modern, Web-enabled, component-based application. By combining content management functionality with age-old e-commerce business process requirements, HubKey is able to offer its customers a centralized EDI management application with resources and personalized services customized to meet any level of e-commerce data expertise. Altova MapForce and XMLSpy provide the translation and XML structure behind-the-scenes, but are also available to more technical users to make adjustments and confirmations at the source. This gives HubKey the ability to offer a flexible and changeable solution to their end users, giving them the power to decide upon hands-on EDI management, or an assisted solution that still falls within their budget.   Find out how MapForce and XMLSpy can add functionality to your business applications. Download a fully functional free trial of the Altova MissionKit today!

Tags: , , , , ,

Recent Industry Awards


The Industry Has Spoken… For us at Altova, being recognized by our industry peers is an honor and something we are proud of and want to share with all of you – our current and future customers. This summer Altova was named to both the 2009 SD Times 100 and Visual Studio Magazine Readers’ Choice Awards. sd_times2009 Altova was named to the SD Times 100 list in the ‘Tools & IDEs’ category as a leader and innovator in the software development industry. Alan Zeichick, editorial director of SD Times magazine, said, “The software development industry has always been led by innovation, and that’s true even in today’s challenging economic climate. When choosing the 2009 SD Times 100 winners, we carefully considered each organization’s products and services, reputation with enterprise development managers, and the new ideas and thought leadership that it has brought to the industry. Thanks to companies like Altova, the art of software development continues to advance at a rapid pace.” VSM_ReadersMerit_2009 And it was the Altova XMLSpy 2009 XML editor that was recognized for excellence with a 2009 Readers’ Choice Award from Visual Studio Magazine. The winners were chosen by Visual Studio Magazine’s readers and honor excellent software in 23 development categories. Altova XMLSpy was named in the category of ‘Web Design and Development Tools’. Michael Desmond, Visual Studio Magazine editor-in-chief and editorial director of the developer media group at 1105 Media, said, "When it comes to judging the value and capability of developer tools, you won’t find a savvier audience than Visual Studio Magazine readers. These are committed developers — demanding professionals who work with code every day and have a deep appreciation for the tools they rely on. "This isn’t a popularity contest," Desmond continued. "A product that earns a VSM Readers’ Choice Award has earned the respect and loyalty, over time, of VSM readers, some of the most demanding users on the planet. I commend all the Readers’ Choice Award winners. Visual Studio Magazine readers have put your product on top.” Check out what the industry is buzzing about and download a free 30-day trial of the Altova MissionKit that includes our full line of XML, database, and UML tools!

Tags: , , , , ,

Altova Tools for IT Professionals – Tell Us Your Story


MissionKit XMLSpy and the other tools in the Altova MissionKit are well-known in the development community as the go-to toolset for XML, data integration, UML, and database development projects. But Altova tools are also used by IT professionals to efficiently complete a variety of enterprise support tasks: XMLSpy is an advanced tool that makes XML documents easy to navigate and edit. Do you use XMLSpy to edit or validate any of the wide variety of XML configuration and data files increasingly essential to today’s IT environments? MapForce integrates and maps data between any combination of XML, databases, flat files, EDI, Excel 2007, XBRL, and/or Web Services. Have you ever used MapForce to merge an end-user’s Excel data into a database? DatabaseSpy is the unique multi-database query, design, content editor, and comparison tool selected as Roundup Champion by Redmond Magazine. Have you used DatabaseSpy to browse an unfamiliar database or build a SQL query to get a quick answer? And who could forget DiffDog? At every trade show visitors come to the Altova booth to rave about Altova’s file, folder, and database diff/merge tool. Do you depend on DiffDog to quickly identify changes between the live instance of a mission-critical file or folder and a backup copy? If you’re an IT professional who uses Altova tools to support the technical infrastructure of your enterprise, we’d like to hear your story. Click here to visit the Altova Case Studies page and check out the right margin to contact us. Of course you can comment right here too!

Tags: , , , , , ,

Java Utopia


Java-powered robots, Java mobile phone apps, Java in the cloud, Java running Neil Young’s ’59 Lincoln, a new T-shirt, and photos with Duke! It can only mean the annual pilgrimage to the Moscone Center in San Francisco for JavaOne. XMLSpy and MapForce feature Java code generation and UModel can both generate and reverse engineer Java code. Of course you can use all the Java code you generate with Altova tools royalty free! Check out this YouTube video:

to see and hear a few highlights of JavaOne 2009 and Altova’s presence there.You can also click here to see an interview with Altova’s Technical Marketing Manager filmed at JavaOne by TechTarget.

Tags: , , , , , , , , , ,

Altova at Microsoft Tech Ed 2009


If you missed Microsoft Tech Ed in Los Angeles last week, check out our latest YouTube video for a quick trip to catch up on some of the sights and sounds of the Partner Exhibition. Our team on the scene reported a strong positive response to the XBRL and HL7 functionality in Version 2009 of the Altova MissionKit and many shout-outs from the floor for individual Altova tools — XMLSpy, MapForce, StyleVision, and UModel are all popular in the developer community. IT professionals commonly use DatabaseSpy and DiffDog to efficiently complete everyday database and differencing tasks.

  You can also see a video clip reporting on Altova at Tech Ed at the TechTarget site. Check out the Altova Events page to follow our upcoming show schedule and see where you can meet us live!

Tags: , , , , , , , , , , , , ,

Altova customer Recordare builds MusicXML-based solution


Case Studies

Recordare® is a technology company focused on providing software and services to the musical community. Their flagship products, the Dolet® plugin family, are platform-independent plugins for popular music notation programs, facilitating the seamless exchange and interaction of sheet music data files by leveraging MusicXML. Dolet acts as a high quality translator between the MusicXML data format and other applications, enabling users to work with these files on any conceivable system, including industry leading notation and musical composition applications Finale® and Sibelius®. The list of MusicXML adopters also includes optical scanning utilities like SharpEye or capella-scan, music sequencers like Cubase, and beyond. Dolet increases the MusicXML support in all of these programs and promotes interoperability and the sharing of musical scores. In creating the Dolet plugins, Recordare used Altova’s XML editor, XMLSpy, for editing and testing the necessary MusicXML XML Schemas and DTDs, and the diff/merge tool, DiffDog, for regression testing.

The Challenge

Music interchange between applications had traditionally been executed using the MIDI (Musical Instrument Digital Interface) file format, a message transfer protocol that has its roots in electronic music. MIDI is not an ideal transfer format for printed music, because it does not take into account the multitude of notations (e.g., rests, repeats, dynamics, lyrics, slurs, tempo marks, etc.) that convey much of the meaning. MusicXML is an open, XML-based file format specifically created to encapsulate musical notation or digital sheet music data that was built on top of previous formats, MuseData and Humdrum. XML lends MusicXML the power and flexibility to be easily accessed, parsed, rendered, and otherwise manipulated by a wide variety of automated tools, and its general acceptance as a standard makes it an ideal format for scoring using computer technology. Since its original release by Recordare in January of 2004 (version 2.0 was released in June 2007), MusicXML has gained acceptance in the music notation industry with support in over 100 leading products, and is recognized as the de facto XML standard for music notation interchange. These products would not have adopted MusicXML unless it could be used to exchange data with industry-leading applications like Finale and Sibelius. By developing advanced plugins for popular music notation suites, Recordare would be able to deliver to their customers all of the advantages that XML can bring for data exchange and standardization.

The Solution

Below is an example showing the score of the first few measures of Beethoven’s An die ferne Geliebte, Op. 98 as it is written in sheet music: and a small snippet of the same piece translated to MusicXML: The MusicXML-based Dolet 4 plugins for Finale and Sibelius provide a more accurate and usable representation of sheet music than Standard MIDI translation. For example, the images below show the same piece of music. On the left is a Finale 2009 rendering of a MIDI file exported from Sibelius, and on the right is the same application’s interpretation of a MusicXML 2.0 file exported from the same version of Sibelius.
In the MIDI rendition, vital information like chord symbols, lyrics, slurs, articulations, and even title and composer are omitted from the translation. In addition to providing native support for MusicXML, the recently released Dolet 4 for Finale and Dolet 4 for Sibelius plugins enhance the capabilities of these programs by adding advanced features like:

  • Batch translation
  • More accurate and reliable data exchange
  • More formatting control
  • Support for the MusicXML XML Schema (in addition to the DTD)

In developing the plugins, Recordare was subject to specific requirements dictated by the Sibelius and Finale applications. The Sibelius plugin was programmed in ManuScript, and is one of the largest plugins ever written in that language. Finale, on the other hand, requires plugins to have a C++ core, and Recordare implemented this, adding MusicXML logic in Java and a JNI layer to provide the two-way Java/C++ communication. Recordare’s Dolet plugins are now critical aspects of the music preparation process for many television and film scores as well as new music publications. Errors in translation need to be fixed in maintenance updates, while ensuring that no new errors are introduced into these complex translation plugins. Regression testing of the MusicXML file produced by the Dolet plugins is thus an essential part of Recordare’s quality assurance process. Recordare used Altova’s DiffDog in the development of the Dolet plugins. XMLSpy was used to test and edit their DTDs and XML Schemas, and DiffDog for regression testing the MusicXML files produced by the software. Recordare has several regression test suites covering a wide range of musical repertoire, from baroque to hip-hop. DiffDog allows easy differencing of multiple runs of these test suites, including the ability to ignore differences in XML metadata elements such as software version and XML creation date that always change across test cases. Recordare has used Altova’s XMLSpy XML editor to edit the MusicXML DTDs and XML Schemas, starting with the use of XMLSpy 3.5 (released in 2001) to create the earliest alpha and beta versions of the MusicXML DTD. Version 2.0 of MusicXML added a compressed zip version of the format, similar to what is used in other XML applications like Open Office and Open XML. XMLSpy 2008 Enterprise Edition’s comprehensive support for zipped XML files made it easy to test this new feature together with the Dolet for Finale plugin.

A small portion of the extensive MusicXML schema shown in XMLSpy’s graphical XML schema editor

XMLSpy’s support for XQuery has also contributed to Recordare’s regression testing efforts. In response to a customer request, Recordare now exports XML processing instructions from the Dolet for Sibelius plugin when it encounters a musical feature that it is unable to translate correctly. A simple XQuery execution to search for all the processing instructions in the XML files in a given folder lets Recordare check for the presence of these restrictions within each test suite, and then compare the resulting XML files using DiffDog between runs of the test suite. Recently, customer demand led Recordare to develop an XSD version of the MusicXML format. XMLSpy Enterprise Edition was used to develop and test the schemas. Schema validation, schema restriction and extension, and automatically-generated schema documentation were all able to be tested using XMLSpy’s features.

The Results

The Dolet plugins are extensions for common industry software that harness the built-in capabilities of the MusicXML format to make musical scores truly interchangeable across disparate systems and toolsets. These plugins have the capacity to render accurate and meaningful musical notation based on the powerful MusicXML specification. The leading XML Schema editing capabilities in XMLSpy and the strong XML and directory differencing support in DiffDog enabled Recordare to write and polish the MusicXML schemas and perform regression testing on the Dolet plugins. The resulting high quality of the schemas and software has made MusicXML and the Dolet plugins a key element of the toolkit for composers, arrangers, publishers, copyists, and engravers throughout the industry wherever printed music is used. Try XMLSpy, DiffDog, and the other Altova MissionKit tools for yourself with a free 30-day trial.

Tags: , , , , , , , , ,

Oracle OpenWorld 2008 recap


The Altova team exhibited at Oracle OpenWorld 2008 in San Francisco last week. The exhibit halls were packed, and we were happy to have a steady stream of visitors to our booth. We had the pleasure of talking with many Altova customers as well as other Oracle users and developers interested in Altova XML, database, and UML tools. Of particular interest with this crowd were MapForce and DatabaseSpy, but we talked with lots of folks whose challenges – from publishing XML and database data, to UML modeling, to Web services testing – could be met with other tools across the Altova product line. We also had the opportunity to introduce many visitors to the Altova MissionKit, and people were happy to hear that they could get a full suite of tools and save some money at the same time. Here are a few videos chronicling our trip, including some on-the-spot product demos. The first is a 1-minute bird’s eye tour of downtown San Francisco and the Altova booth in the Moscone West exhibition hall.

Here we learn how to efficiently migrate legacy relational data to a 21st-century XML application using XMLSpy. Bonus Scene: a water feature to improve your Feng Shui.

Finally, this video includes a demo of DatabaseSpy, featuring how to use the Graphical Database Design editor to explore and modify database tables. Bonus Scene: take a ride on a San Francisco cable car!

These were shot live on the floor of the exhibition, as you’ll hear from the enthusiastic crowds in the background, and at other spots around town. Whether you attended the show this year or not, we hope you’ll enjoy our video postcards. Altova’s next exhibit will be at Microsoft PDC in Las Vegas – we hope to see you there!

Tags: , , , , , ,

White Paper: Reaping the Benefits of pureXML with Altova Tools


The IBM® DB2® data server offers a scalable and reliable information infrastructure that provides seamless integration of XML and relational services. Now with the deep integration of Altova tools and DB2 9, users can query, exchange, transform, and edit their XML artifacts more quickly, easily, and accurately.
Demonstrated using an online brokerage scenario, this white paper shows how the integration of Altova tools with DB2 allows users to:

  • Design and perfect XQuery statements faster, with real-time validation for a faster and more robust design time experience.
  • Preview, edit, and validate XML data stored in the database with just a few clicks
  • Easily manage XML Schemas in the DB2 9 Schema Repository
  • Map XML data from the database to a CSV file or convert it to an HTML table or other format

The solutions to the business problems presented in the white paper show how DBAs and developers working with real-world XML applications can benefit from the integration of Altova tools with IBM DB2 9.
Access the white paper here to read more about these solutions and view screenshots: https://www.altova.com/resources_wp.html#ibm_whitepaper

Get more information about using Altova tools when working with IBM DB2 9 pureXML here: https://www.altova.com/IBM_DB2_9_pureXML.html

Download a free 30-day trial of the Altova MissionKit here: https://www.altova.com/download.html, and see how working with XML-related technologies in DB2 9 is enabled by Altova tools.

Tags: , , ,