W3C Compound Documents Frequently Asked Questions (FAQ)

As the Web grows, so does the number of communities who wish to create content using specialized (markup) vocabularies. Although HTML can be used to create a huge spectrum of documents, there has long been a desire to be able to mix and match content in various formats; this was the project XML was designed to support. When combining content from arbitrary sources, a number of problems present themselves, including how rendering is handled when crossing from one markup language to another, or how events propagate across the same boundaries, or how to interpret the meaning of a piece of content within an unanticipated context. W3C is actively developing solutions to these problems to allow the creation of interesting applications that are well-integrated with the Web.

1. What is a compound document?
Simply put, a compound document is a mixture of content in any number of formats. Compound documents range from static (say, XHTML that includes a simple SVG illustration) to very dynamic (a full-fledged Web Application). A compound document may include its parts directly (such as when you include an SVG image in an XHTML file) or by reference (such as when you embed a separate SVG document in XHTML using an <object> element. There are benefits to both, and the application should determine which one you use. For instance, inclusion by reference facilitates reuse and eases maintenance of a large number of resources. Direct inclusion can improve portability or offline use. W3C will support both modes, called CDR ("compound documents by reference") and CDI ("compound documents by inclusion").
2. How do I create a compound document?
W3C is defining a framework for creating compound documents called Web Integration Compound Document, or WICD (pronounced "Wicked"). WICD will be the standard way to build Rich Web Applications with X/HTML, CSS, SVG, MathML, Javascript, and other core W3C technologies (SMIL, VoiceXML, XSL, and more). The WICD specification has different profiles, depending on whether your primary audience will be desktop users or mobile device users.
3. Can I build a real Web Application with this?
Yes, you can build WICD Web applications with the Web tools you're already using. W3C will be working with designers and developers to provide tutorials, examples, and best practices, in addition to our existing test suite, validator, and other web resources.
4. Will today's browsers handle this sort of compound document?
Opera, Safari, and Firefox all support the core technologies, and are moving quickly to full WICD complicance. We anticipate even broader support with the use of browser plug-ins. See the Implementation Report for more details.
5. Is there a test suite so I can tell how well browsers support this?
Yes, see the comprehensive test suite and implementation report. In addition, each part of WICD (such as HTML, CSS, and SVG) has its own test suite.
6. How does W3C's compound document technology relate to HTML5?
HTML and XHTML are the dominant formats for the Web, and they are the keystones of WICD. The CDF Working Group is collaborating with the HTML and XHTML2 Working Groups in order to make sure everything works well together.
7. How does W3C's compound document technology relate to office application formats such as ODF and OOXML?
They occupy different spaces. ODF and OOXML are office applications formats, supporting semantics such as spreadsheets and databases. WICD and other compound document technology from W3C does not come with those predefined semantics. However, WICD could be used as an export format for presentation of an office document on the Web. Like all Web-standards documents, they can contain script and other dynamic effects, including some editing and interactive capabilities.
8. How can I get involved?
There are lots of ways for you to contribute. Join W3C and participate in the Compound Document Formats (CDF) Working Group. Follow and participate in the group's mailing list. Review or implement the group's specifications. And perhaps most importantly, start using these technologies, and file bug reports with browser vendors when things don't work as they should; this is someone everyone can do.