DocumentID: ECMA-376/Part2/8.3.4
Title: ECMA-376, Part2: 8.3.4 Representing Relationships
Extracted-From: ECMA-376 Office Open XML File Formats, 1st Edition / December 2006
Warning: Coverted to HTML format by a script known to have bugs

Navigation:

8.3.4 Representing Relationships

Relationships are represented in XML in a Relationships part. Each part in the package that is the source of one or more relationships can have an associated Relationships part. This part holds the list of relationships for the source part. For more information on the Relationships namespace and relationship types, see Annex F, "Standard Namespaces and Content Types."

A special naming convention is used for the Relationships part. First, the Relationships part for a part in a given folder in the name hierarchy is stored in a sub-folder called "_rels". Second, the name of the Relationships part is formed by appending ".rels" to the name of the original part. Package relationships are found in the package relationships part named "/_rels/.rels".

The package implementer shall name relationship parts according to the special relationships part naming convention and require that parts with names that conform to this naming convention have the content type for a Relationships part. [M1.30]

[Example:

Example 8--4. Sample relationships and associated markup

The figure below shows a Digital Signature Origin part and a Digital Signature XML Signature part. The Digital Signature Origin part is targeted by a package relationship. The connection from the Digital Signature Origin to the Digital Signature XML Signature part is represented by a relationship.

PackageSampleRelationships

The relationship targeting the Digital Signature Origin part is stored in /_rels/.rels and the relationship for the Digital Signature XML Signature part is stored in /_rels/origin.rels.

The Relationships part associated with the Digital Signature Origin contains a relationship that connects the Digital Signature Origin part to the Digital Signature XML Signature part. This relationship is expressed as follows:

<Relationships 

   xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

   <Relationship 

      Target="./Signature.xml" 

      Id="A5FFC797514BC"

      Type="http://schemas.openxmlformats.org/package/2006/relationships/

         digital-signature/signature"/> 

</Relationships>

end example]

[Example:

Example 8--5. Targeting resources

Relationships can target resources outside of the package at an absolute location and resources located relative to the current location of the package. The following Relationships part specifies relationships that connect a part to pic1.jpg at an external absolute location, and to my_house.jpg at an external location relative to the location of the package:

<Relationships 

   xmlns="http://schemas.openxmlformats.org/package/2006/relationships"

   <Relationship

      TargetMode="External"

      Id="A9EFC627517BC"

      Target="http://www.custom.com/images/pic1.jpg"

      Type="http://www.custom.com/external-resource"/>

   <Relationship   

      TargetMode="External"

      Id="A5EFC797514BC"

      Target="./images/my_house.jpg"

      Type="http://www.custom.com/external-resource"/>

</Relationships>

end example]

[Example:

Example 8--6. Re-using attribute values

The following Relationships part contains two relationships, each using unique Id values. The relationships share the same Target, but have different relationship types.

<Relationships 

   xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

   <Relationship 

      Target="./Signature.xml" 

      Id="A5FFC797514BC"

      Type="http://schemas.openxmlformats.org/package/2006/

         relationships/digital-signature/signature"/> 

   <Relationship 

      Target="./Signature.xml" 

      Id="B5F32797CC4B7"

      Type="http://www.custom.com/internal-resource"/>

</Relationships>

end example]


Converted to HTML format by ooxmlspec2html 0.1, a Perl script provided by OpenISO.org.