3 XLink Processing and Conformance

This section details processing and conformance requirements on XLink applications and markup.

[Definition: The key words must, must not, required, shall, shall not, should, should not, recommended, may, and optional in this specification are to be interpreted as described in [RFC 2119].]

3.1 Processing Dependencies

XLink processing depends on [XML], [XML Names], [XML Base], [RFC 3987], and [CharMod Fundamentals].

3.2 Markup Conformance

An XML element conforms to XLink if:

  1. It has a type attribute from the XLink namespace whose value is one of "simple", "extended", "locator", "arc", "resource", "title", or "none", and it adheres to the conformance constraints imposed by the chosen XLink element type, as prescribed in this specification, or

  2. it does not have a type attribute from the XLink namespace and it adheres to the conformance constraints imposed by the XLink simple element type, as prescribed in this specification.

  3. It does not have any attributes in the XLink namespace other than type, href, role, arcrole, title, show, actuate, label, from, and to.

  4. Content conforming to XLink must conform to [CharMod Fundamentals].

This specification imposes no particular constraints on schemas; conformance applies only to elements and attributes.

3.3 Application Conformance

An XLink application is any software module that interprets well-formed XML documents containing XLink elements and attributes, or XML information sets [XIS] containing information items and properties corresponding to XLink elements and attributes. (This document refers to elements and attributes, but all specifications herein apply to their information set equivalents as well.)

XLink defines two conformance levels for an XLink application, simple and full.

3.3.1 Full Conformance

An application satisfies the constraints of full conformance if:

  1. It observes the mandatory conditions ("must") for applications set forth in this specification, and

  2. for any recommended or optional conditions ("should" and "may") it chooses to observe, it observes them in the way prescribed, and

  3. it performs markup conformance testing according to all the conformance constraints appearing in this specification.

  4. It applies XLink semantics only to those elements which satisfy the markup conformance criteria outlined in 3.2 Markup Conformance.

  5. Applications implementing XLink must conform to [CharMod Fundamentals].

3.3.2 Simple Conformance

An application satisfies the constraints of simple conformance if it is fully conformant with respect to simple links. In other words:

  • The processor may ignore any link which specifies an xlink:type other than “simple”.

  • If the xlink:href attribute is specified and the xlink:type attribute is not specified, the element must be processed as if xlink:type specified “simple”.

An application which claims simple conformance may ignore all other XLink elements.