Microsoft has announced incorporation of the DataDiagramML XML Schema used by Microsoft Office Visio 2003 into the Microsoft Open and Royalty-Free Office 2003 XML reference schema program, announced in November 2003.
Visio 2003 is a drawing and diagramming solution that helps users transform business and technical concepts into visual diagrams, automatically creating database diagrams, UML software diagrams, Web maps, timelines, calendars, organizational charts, and related types using data within other tools.
Because the DatadiagramML XML Schema defines a text-based format, the user "can take advantage of all the text-based tools available for document management, including text utilities for archiving, differencing, searching, indexing, or versioning. One can create a multifile utility to search all the text in a DatadiagramML documents without running Visio; index files and search on more than just document properties; post DatadiagramML files on the Web to easily share data; and retrieve data embedded in the documents and run offline data processing and data analyzing applications."
Microsoft has provided documentation for use of the DataDiagramML schema, together with a royalty-free license, so that "customers and partners can take advantage of the XML schema in its diagramming and data visualization tool. The availability of the Visio schema builds on Microsoft's commitment to XML by providing a complete and W3C-compliant description of the Visio Extensible Markup Language (XML) file format, enabling organizations to access information captured in their Visio diagrams and use it with other XML-enabled applications, such as customer relationship management (CRM) and enterprise resource planning (ERP) systems, as part of their business processes."
The XML Reference for Microsoft Office Visio includes: (1) The DatadiagramML schema, with a full view of the DatadiagramML schema structure; click any element to go directly to its reference topic; (2) A DatadiagramML overview: it provides information about the DatadiagramML schema, inheritance, working with sheets and formulas, working with geometry, working with text, loading XML files created outside of Visio, round-tripping XML data, embedding custom XML data, units of measure, and errors and warning messages; (3) The DatadiagramML element reference, providing details on all of the elements in the DatadiagramML schema; each topic includes information on syntax, default units for elements that represent cells, attributes, and parent and child elements. Hyperlinks in the compiled HTML reference format facilitate navigation through the documentation fornamespaces, elements, attributes, classes, and other schema features.
DatadiagramML XML Schema for Visio
"A DatadiagramML file is an XML (Extensible Markup Language) document that contains all the components of a Microsoft Office Visio binary file. Much as you can access a Visio document by using Automation or from the ShapeSheet window, you can use XML and supporting tools to access data in a DatadiagramML file.
Beginning with Microsoft Visio 2002, support was added for an XML file format that contains the same data as the Visio binary files.
For developers who use the Visio object model or program cells in the ShapeSheet window, the data structures will seem familiar. Most elements that define the data in the DatadiagramML file are named with the same or similar names to the cells in the ShapeSheet or the properties exposed in the object model. Because the document adheres to the XML format standard, you can use standard XSL (Extensible StyleSheet Language) or XSLT (XSL Transformations) languages for retrieving data from XML files...
There are three extensions for DatadiagramML files: .vdx for drawing files, .vtx for template files, and .vsx for stencil files. Files in .vdx, .vtx, or .vsx format are designed to be peers of the Visio document binary formats — .vsd, .vst, or .vss, respectively. For example, a .vsd file can be opened and saved as a .vdx file with no loss of information. You can use Automation interface calls to manage an XML file that is open in Visio. For example, you can open, save, export, or import DatadiagramML files.
DatadiagramML schema: Visio provides an XML vocabulary or schema that is the set of XML tags that define a Visio document's data elements and attributes and their containment relationships. Developers can refer to the schema to see how to access the data within the DatadiagramML document structure.
Using DatadiagramML: Because DatadiagramML is a text-based format, you can take advantage of all the text-based tools available for document management. Any text utilities for archiving, differencing, searching, indexing, or versioning can be used to process your DatadiagramML files. You can: (1) Create a multifile utility to search all the text in your DatadiagramML documents without running Visio; (2) Index your files and search on more than just document properties; (3) Post DatadiagramML files on the Web to easily share data; (4) Retrieve data embedded in the documents and run offline data processing and data analyzing applications.
Validation of third-party DatadiagramML files: [Initial content of a Visio document saved in XML file format] includes several attributes of the VisioDocument element, including two, key and start, which Visio uses to verify that the VDX document has not been modified outside of Visio since the last time it was saved in Visio. These attributes are only present in files that have been saved by Visio, and they can be thought of as a "stamp" of file integrity, allowing Visio to skip the time-consuming step of recalculating the values of all cell elements that contain formulas when you open the document in Visio. Files such as these that Visio has saved are called trusted files. Third parties can also create and edit XML files outside of Visio that follow the DatadiagramML schema. These files are called untrusted files. If an untrusted file does not carry the stamp, or if the file carries a stamp that indicates the file has been modified outside of Visio, Visio checks that the XML is well-formed and valid, which can increase the time it takes to open an untrusted file. If you then save the file in Visio as a DatadiagramML document, the file will thereafter contain a stamp that indicates the document is a trusted file.
Round-tripping documents: Opening a Visio document, saving it as a DatadiagramML document, and then reopening the DatadiagramML document shows that you can round-trip all the Visio data in the document. That is, no information is lost between the binary version and the DatadiagramML version of the document. XML files that are created or edited outside of Visio, and then opened and resaved in Visio, do not necessarily appear identical, but the information should be close to identical. For example, white space may or may not be preserved (depending on the element), and some elements might get reordered (or added in some cases) in the file in a way that is preferred by Visio...
Including custom data within a DatadiagramML file: You can include custom XML data within your DatadiagramML file, provided the data contains well-formed XML that complies with the DatadiagramML schema and the internal rules of Visio. You can embed custom XML in a DatadiagramML file in two ways: (1) As unknown XML, which is XML that Visio does not understand but will round-trip in a DatadiagramML file when contained in particular elements. (2) As solution XML, which is well-formed XML contained within a SolutionXML element that provides a standardized means of persisting solution data. At the document level, you can store XML data by using the SolutionXML element contained immediately within the VisioDocument element. At the cell level, you can store well-formed XML data in selected cells by using a string value within a SolutionXML element. You can then manipulate the XML data in your solution at run time by using Automation...
[Note that in] previously published materials, including the Microsoft Office Visio 2003 SDK, the XML schema was referred to as XML for Visio; here the schema is known as DatadiagramML..." [adapted from "Overview of DatadiagramML"]
Comments on the Microsoft Office Visio 2003 XML Reference Schema from Jean Paoli
"To learn more about how XML will impact users of Visio 2003, PressPass spoke with Jean Paoli, an XML architect at Microsoft. Paoli is one of the co-creators of the XML 1.0 standard with the World Wide Web Consortium (W3C) and has played a significant role in the XML community since 1985.
Jean Paoli: Building on our vision for Office 2003 as Smart Client for XML-based Web Services, we are announcing the addition, effective today, of the Microsoft Office Visio 2003 XML Reference Schema to the open and royalty-free license programs we announced in November 2003. Through the new license program, and the documentation we are providing today, Microsoft customers, partners and even competitors can take full advantage of the XML schema used in Microsoft Office Visio 2003, Microsoft's powerful data visualization and diagramming tool. By making the Visio 2003 XML schema widely available, and providing documentation to aid solution developers in using it, today's announcement builds on Microsoft's ongoing commitment to promote the development of XML as the next-generation technology for integrating applications, services and data sources.
The documentation we're providing to Visio customers is a key step in empowering our customers to leverage their existing investment in Visio, and enabling them to attain the rich layers of interoperability that comes with Extensible Markup Language (XML).
Because each of the Visio stencils, or SmartShapes, has the ability to store data pertaining to that shape — such as a person's phone number and title in an org chart, or the IP address for a router in a network diagram — Visio has always been a powerful tool in helping people communicate complex information through easy to understand diagrams. However, it was often difficult for our customers to share the data they captured in their Visio diagrams with other applications — or even more critically, to be able to take data they were storing in other applications, and convey it through Visio's intuitive diagrams.
The reference schema for Visio, called DataDiagramML, provides our customers an XML version of Visio's file format. This XML file format supports the entire capabilities of Visio. DataDiagramML is what the XML community would call a "display-oriented" schema, because it is focused on describing how information would look, for example diagrams, shapes and so on. To enable maximum interoperability, DataDiagramML itself is expressed using a W3C-compliant language, XSD (XML Schema Definition).
By providing documentation and a royalty-free license for this schema, customers and partners will be able to take this schema and use it in their own Visio solutions -- linking Visio to other applications and systems throughout their organizations as part of their business processes.
The documentation we're providing today contains everything a solution developer on Windows or on other platforms would need to know about how to read and write Visio's XML file formats, including the technical descriptions of objects found in the file formats like shapes and stencils..." [adapted from the Visio Q&A]
About Microsoft Office Visio
"Visio 2003 is a drawing and diagramming solution that can help people transform business and technical concepts into visual diagrams. Use Visio to automatically create database diagrams from SQL Server or Access, UML software diagrams from Microsoft Visual Studio .NET projects, Web maps from live Web sites, timelines from Microsoft Excel or Microsoft Project, calendars from Microsoft Outlook, and organizational charts from Excel or Microsoft Exchange Server. Visio can consume XML data from Web services and that, in turn, can be used to drive diagram creation. The data in Visio diagrams can be extracted as XML and other formats, or it can be exported to Excel, Microsoft Word, SQL Server, and other types of files for integration with business processes and systems. Visio includes specific tools to support the diagramming needs of business professionals, project managers, sales and marketing professionals, operations managers, IT professionals, software developers, database and Web site administrators, facilities managers, or engineers..." [adapted from the Visio 2003 Fact Sheet]
- Announcement: "Microsoft Continues Commitment to Open and Royalty-Free XML Schemas. Releases Documentation for Schema Used by Data Diagramming Tool Visio 2003, Helping Organizations and Developers Create XML-Enabled Solutions." [source]
- "Q&A: Microsoft Announces Availability of XML Schema for Microsoft Office Visio 2003." Commentary from Jean Paoli.
- Office 2003 XML Reference Schemas. The distribution includes: (1) Reference documentation on the Microsoft Office 2003 schemas, detailing every element and types; (2) Overview articles on WordprocessingML (the XML file format for Microsoft Office Word 2003), SpreadsheetML (Microsoft Office Excel 2003), FormTemplate XML schemas (Microsoft Office InfoPath 2003) and DataDiagramingML (Microsoft Office Visio 2003).
- "Overview of DatadiagramML." Microsoft Corporation. March 2004. Applies to Microsoft Office Visio 2003. "This document describes the elements in the DatadiagramML Schema that are important to document developers and to application developers whose programs will read and write DatadiagramML documents." PDF generated from the Word (.doc) file contained in the 'O2003XMLREF2.exe' [version 2, 4/15/2004, 4990 KB] download, itself containing documentation on the Microsoft Office Word 2003, Microsoft Office Excel 2003, Microsoft Office InfoPath 2003, and Microsoft Office Visio 2003 schemas.
- Visio 2003 XML Schema. Partial/snapshot; see the related Office XML schemas.
- "Visio 2003 Makes The Right Moves. Microsoft Extends Venerable Visio, Shrinks File Sizes, and Adds Export Features." By Paul Venezia. In InfoWorld (April 16, 2004). Review of Visio 2003 Professional. "Microsoft extends Visio 2003 in many directions, shrinking file sizes significantly as well as improving the basic drawing tools. Although still a tad bloated and missing the auto discovery tools of prior versions, this is the ubiquitous diagramming tool's best incarnation yet."
- Earlier announcement: "Microsoft Announces Licenses for Use of Office 2003 XML Reference Schemas." News story 2003-11-18.
- Office 2003 XML Reference Schemas Licensing
- Microsoft Intellectual Property Licensing
- Microsoft Office 2003 XML Reference Schemas: Legal Notice
- Office 2003 XML Reference Schema Patent License.
- Microsoft InfoPath
- Microsoft Office Visio
- MSDN Office Developer Center
- Microsoft XML Development Center
- "Microsoft Opens Up Visio Schemas. A Goal is to Enable More Dynamic Interaction with Visio Diagrams." By Ed Scannell. In InfoWorld (April 15, 2004).
- "Microsoft Releases Another XML Spec." By David Becker. In CNET News.com (April 15, 2004).
- Earlier news: "Visio 2002 Incorporates XML Support with XML for Visio Format." News story 2001-05-05.
- "Microsoft Office 11 and InfoPath" - Reference document.
- "XML File Formats for Office Documents" - Main reference page.