manakai's Conformance Checking Guidelines for XML-based Markup Languages

Working Draft 14 August 2010

Latest Version
Version History



Status of this document

This section describes the status of this document at the time of its publication. Other documents might supersede this document.

This document is a technical specification, produced as part of the manakai project. It might be updated, replaced, or obsoleted by other documents at any time.

Comments on this document are welcome and may be sent to the author.

Translations of thie document might be available. The English version of the document is the only normative version.

Table of contents

  1. 1 Introduction
  2. 2 Common infrastructure
    1. 2.1 Terminology
    2. 2.2 Conformance requirements
    3. 2.3 Namespaces
  3. 3 Atom
  4. References
    1. Normative references

1 Introduction

This section is non‐normative.


This specification is developed as part of the manakai project. Although it might be useful to other parties, the only intended audiences of this specification are contributors of the project. This specification does not define or describe any kind of standard.

2 Common infrastructure

2.1 Terminology

This specification relies heavily on the Web Applications 1.0 specification [WA1] to define underlying terms.

Web Applications 1.0 defines the terms applicable specifications, willful violation, ASCII case-insensitive, HTML namespace, HTML elements, XML documents, valid integer, valid floating point number, valid non-negative integer, set of comma-separated tokens, set of space-separated tokens, unordered set of unique space-separated tokens, valid browsing context name, valid browsing context name or keyword, boolean attribute, enumerated attribute, event handler content attributes, MIME type, valid MIME type, XML MIME type, URL, valid URL, valid non-empty URL, absolute URL, resolve a URL, <scheme>, valid e-mail address, maps to the pixel length property, and maps to the dimension property.

The term valid dimension value is defined in a commented out paragraph of the Web Applications 1.0 specification.

The concept of content model, as well as the way to interpret it, is defined in the Web Applications 1.0 specification.

2.2 Conformance requirements

All notes in this specification are non-normative, as are all sections explicitly marked non-normative. Everything else in this specification is normative.

The key words “MUST”, “MUST NOT”, “SHOULD”, and “MAY” in the normative parts of this document are to be interpreted as described in RFC 2119 [RFC2119].

User agents may impose implementation-specific limits on otherwise unconstrained inputs, e.g. to prevent denial of service attacks, to guard against running out of memory, or to work around platform-specific limitations.

The language in this specification assumes that the user agent expands all entity references, and therefore does not include entity reference nodes in the DOM. If user agents do include entity reference nodes in the DOM, then user agents MUST handle them as if they were fully expanded when implementing this specification.

2.3 Namespaces

The Atom namespace is

3 Atom

This section only applies to user agents that support Atom [ATOM].

A feed element in the Atom namespace, when it contains no entry element in the Atom namespace as child, can but does not have to contain a child author element in the Atom namespace.

In RFC 4287 [ATOM] whether there has to be an author child element or not is unclear when the feed element contains no entry element child.


Normative references

RFC 4287, The Atom Syndication Format, Mark Nottingham, Robert Sayre, IETF, December 2005.
RFC 2119, BCP 14, Key words for use in RFCs to Indicate Requirement Levels, Scott Bradner, IETF, March 1997.
Web Applications 1.0, Ian Hickson, WHATWG Draft Standard.