30. An application program interface as recited in claim 25 , further comprising a fifth method to delete an existing part from the package.
25. An application program interface embodied on one or more computer-readable storage media, the application programming interface comprising: a first method to create a package, wherein the package holds together a plurality of parts that make up a document and which are described in markup that can refer to different representations of the document, wherein at least some of the different representations include the same content, the package further including a plurality of relationship elements, each relationship element being associated with one of the plurality of parts, defining a relationship between the one of the plurality of parts and one or more of another of the plurality of parts, and enabling the relationship to be discoverable independently of an associated part, the package being associated with a plurality of drivers, the plurality of drivers being associated with different document formats and allowing multiple applications to access the package regardless of a document format associated with each of the multiple applications; a second method to add a first part to the package; a third method to retrieve a second part from the package; and a fourth method to identify a stream of data.