The 97th General Assembly of Ecma International, held in Budapest in June, approved the Open XML Paper Specification, OpenXPS, as an Ecma Standard: Ecma-388 1st Edition.
This marks a major milestone in the evolution of the XPS format and, like all standards activities, is the result of a lot of hard work and dedication from expert representatives from a range of organizations.
In the case of OpenXPS, representatives from 21 organizations met around the world, and virtually on numerous conference calls, over the course of two years to standardize the format. I thought it would be interesting for readers of this blog to share some of background on the process that used in TC46, as well as provide an overview of key changes to the specification made as a result of the committee’s work.
TC46 Represented Organizations
Lots of people, from many different organizations, have been involved in the process to standardize the format. Much of the work was done virtually – on conference calls and using email – with detailed issues worked through in face-to-face meetings. To provide an indication I took the following list of organizations represented in face-to-face meetings from the meeting minutes.
Organizations represented in TC46 face-to-face meetings
TC46 Issue Tracking
The committee addressed a total of 231 raised issues. Of these, 180 were technical with the remainder editorial. Technical issues were defined as issues that required consideration of how any proposed solution would impact interpretation of the specification by someone implementing the format. Many of the issues were closed as addressed – i.e. we changed the specification in some way – some were resolved either because no action was required, or because addressing the issue was beyond the scope of the first edition of the standard. This chart provides a running track of issues across the main part of the project.
Liaisons & Feedback Channel
TC46 provided a feedback channel throughout the process for organizations and individuals not associated directly with the TC to provide feedback. TC46 also formed liaisons with other standardization groups.
ISO/IEC JTC1 SC29, SC28, SC34
ISO TC130, TC171
International Color Consortium (ICC)
ITU-T Study Group 16
There have been many changes to the specification between the submitted base documentation and the final standard. TC46 published copies of the draft specification throughout the project; however, with the caveat that the final text of the standard is the reference, I thought I’d highlight some of the key changes for the Microsoft ecosystem:
· Support for X3D: OpenXPS provides optional support for the X3D Standard to represent 3D content within the document. X3D support is implemented using the Markup Compatibility and Extensibility Specification standardized as Part 5 of Ecma-376 to ensure that there is no additional implementation requirements on consumers that have already implemented support for XPS.
· Removal of proprietary references: OpenXPS is designed for implementation independently of platform – the number of independent implementations of XPS on Linux, Mac OS X, Windows and various embedded systems demonstrates this. However, for OpenXPS Windows-specific references to .Net, the Print Schema Specification, and the Windows Color System were removed and relevant areas of the specification restructured to eliminate the requirement for those references.
· Improved color profile interoperability: parts of the specification dealing with color profiles have been improved to remove ambiguities in the specification and improve interoperability.
· Namespace URI changes: the namespaces URIs for the FixedPage markup and other parts of the specification have changed, for example: http://schemas.openxps.org/oxps/v1.0
· Recommendations for identifying OpenXPS: OpenXPS makes specific recommendations for how to identify OpenXPS documents. To avoid confusion with the conventions used with XPS, OpenXPS recommends the use of *.oxps as a filename extension and application/oxps as the content type.
Compatibility with Microsoft Products
OpenXPS is not compatible with existing Microsoft implementations of XPS. The two main reasons for this are:
1. Namespace URI change: Microsoft implementations validate against the XPS schema and therefore use the namespace URI to identify content when processing XPS documents.
2. XPS documents are identified differently: Microsoft implementations use *.xps and application/vnd.ms-xpsdocument to identify XPS documents. OpenXPS documents are identified by *.oxps and application/oxps.
We don’t have any plans to announce at this time regarding support for OpenXPS (unfortunately, with the public Release Candidate already available, OpenXPS was too late for Windows 7) but Microsoft does see OpenXPS as a key foundation for the printing and document ecosystem and is very pleased to see the format emerge as a formal standard. We’re looking forward to working across industry to see how best to update the ecosystem to OpenXPS.
[update: fixed table formatting]