XML Paper Specification (XPS)

The global nature of our connected world means that we often need to share information with people who don't use the same technology that we do. They might not use the same programs that we do, they might run a different version of Windows, or they might be using an entirely different operating system. How do you share the information contained in a document on your system in such circumstances?

Currently, you have several different options:

  • Convert the document to plain text, a format supported by all systems. This enables you to share the raw data, but you lose all your document's fonts, formatting, and graphics, which could dilute or distort your information.
  • Put the document on the Web, enabling the other person to view it using any web browser. This usually offers a reasonable facsimile of the original file, but generally without any rights management. The other user can easily copy the information and republish it.
  • Publish the document as a PDF file. Almost all systems have (or can get) PDF viewers, the document looks identical to the original, and you can apply digital rights to the PDF to control its use. However, PDF is a proprietary standard (it's owned by Adobe Systems), and you might prefer to use a format based on open standards.

In other words, you face four problems when it comes to sharing a document:

  • The shared document should be viewable by all, regardless of the programs or operating systems they use.
  • The shared document should be a faithful rendition of the original, including fonts, formatting, and high-fidelity images.
  • The shared document should have some kind of rights management built in so that you can control what other users can do with the document.
  • The document's format should be based on open standards.

Attempting to solve these four problems is why Microsoft has come up with a new document format called the XML Paper Specification, or XPS (the original codename was Metro). Here's how XPS solves the document-sharing problems:

  • Microsoft has also pledged to create XPS viewers for Vista and for older versions of Windows. The Vista viewer loads in Internet Explorer. (no viewer for older versions was available). Also, Microsoft has published the programming interface for viewing and manipulating XPS documents, so there's little doubt that third-party developers will come up with XPS viewers for the Mac, Linux, and other systems.
  • The XML syntax XPS uses is complex, but that complexity is required to create XPS documents that are high-fidelity reproductions of the original file. Documents published as XPS should look exactly the same as they do in the original application.
  • XPS supports digital signatures, which enables the publisher to apply rights to what users can and cannot do with an XPS document.
  • XPS uses XML for the document syntax and ZIP for the document container file, so it's based on open and available technologies.

Because Microsoft is licensing XPS royalty-free, developers can incorporate XPS viewing and publishing features into their products without cost. This means it should be easy to publish XPS documents from a variety of applications. Note, too, that XPS publishing is built into Windows Vista via the Microsoft XPS printer driver. This is a print-to-file driver, so clicking Print publishes your original file to an XPS document in the folder you choose.

I should note here, as well, that a Save as XPS feature will be built into all the Office 2007 applications, making it easy to publish any type of Office document as an XPS container.