Mac OS X Reference Library Apple Developer Connection spyglass button

Introduction to iWork Programming Guide

Welcome to the suite of iApps productivity tools called iWork.

Keynote and Pages form the foundation of the iWork suite. Both are designed to provide Apple users with easy to use, yet powerful, feature-rich graphics applications running in Mac OS X. The latest version of Keynote, for example, lets users create high-quality, professional-looking presentations, offering a wide variety of themes, chart and table templates, as well as animated slide transitions. Pages offers users a wide-range of custom templates for easy page layout and design.

Developers can take advantage of Apple’s XML format for Keynote files, known as APXL, to directly create or modify their Keynote presentations. Likewise, developers can create custom templates or modify existing Pages documents by accessing the Pages file format.

Each application is defined by an XML schema. Because both Keynote and Pages use an open, easily accessible file format, developers have a unique opportunity to enhance their existing products or even create new ones, using the iWork XML schemas.

These schemas provide access to the contents of Keynote 2.x and Pages 1.x documents, including themes and slide lists, page layouts, and other organizational structures. Using either of these formats, you can modify the content of your document in ways that supplement the capabilities of either or both applications.

Who Should Read This Document

This document explains, at a basic level, how each XML schema works and offers some examples of common usage. You might find this information valuable if you need to create, modify, or query Keynote or Pages XML documents. If you simply need to parse XML and extract information from an existing source of XML, you may need to look elsewhere for examples that are more suited to your needs.

Important: The information in this programming guide is intended to supersede the following Apple technical documents:

Technical Note TN2067, available at http://developer.apple.com/technotes/tn2002/tn2067.html, which lists the XML schema file that defines the syntax of a Keynote 1.x APXL file. With the introduction of Keynote 2.x, this schema file is out of date.

Technical Note TN2073, available at http://developer.apple.com/technotes/tn2002/tn2073.html, which describes in detail how to create a slide-list in a sample Keynote 1.x presentation. Although the information in this technical note may appear useful, you should not rely on it for developing or modifying your own products.

Both technical notes are no longer applicable for developers who want to work with Keynote 2.x presentations or with Pages 1.x layouts and designs.

This document does not describe the complete XML schema for either Pages 1.x or Keynote 2.x. The complete XML schema for both applications is not available and will not be made public. Nor is this document, by any stretch of the imagination, intended as a comprehensive tutorial on how to customize or extend third-party applications that rely on the schemas of each iWork application. The focus here is on bringing developers up to date on how the schemas work, and what they may need to know in order to take advantage of the robust feature sets available in each application.

Important: This document only covers the file formats for Keynote 2.x and Pages 1.x. Future versions of those products may use a different file format than the ones described here. Developers should understand that Apple cannot guarantee that the file formats described herein will be supported in those future versions of the iWork applications as they are currently supported. Changes to these file formats ought to be expected.

To work with this document, you should be familiar with standard XML conventions and be familiar with either one or both iWork applications.

Organization of This Document

This document begins with a high-level discussion of the iWork schemas and is followed by successive chapters that describe the various features of each iWork application, with deconstructed examples of how the XML is formed. Each chapter depends, to a certain extent, on understanding the material presented in any previous chapters.

See Also

There are a wide range of resources available for developers working with XML. Here is a brief list of some of more useful ones:

The following are also useful websites on XML:



Last updated: 2005-11-09

Did this document help you? Yes It's good, but... Not helpful...