Relationship Markup
Relationships are represented using <Relationship>
elements nested in a single <Relationships>
element. These elements are defined in the Relationships namespace, as specified in Annex F, “Standard Namespaces and Content Types". The schema for relationships is described in Annex D, "Schemas - XML Schema".
The package implementer shall require that every <Relationship>
element has an @Id
attribute, the value of which is unique within the Relationships part, and that the @Id
type is xsd:ID, the value of which conforms to the naming restrictions for xsd:ID as described in the W3C Recommendation “XML Schema Part 2: Datatypes.” [M1.26]
The nature of a <Relationship>
element is identified by the @Type
attribute. Relationship Type is defined in the same way that namespaces are defined for XML namespaces. By using types patterned after the Internet domain-name space, non-coordinating parties can safely create non-conflicting relationship types.
Relationship types can be compared to determine whether two <Relationship>
elements are of the same type. This comparison is conducted in the same way as when comparing URIs that identify XML namespaces: the two URIs are treated as strings and considered identical if and only if the strings have the same sequence of characters. The comparison is case-sensitive and no escaping is done or undone.
The @Target
attribute of the <Relationship>
element <holds>
a URI that points to a target resource. Where the URI is expressed as a relative reference, it is resolved against the base URI of the Relationships source part. The @xml:base
attribute shall not be used to specify a base URI for relationship XML content.