First draft.
The more a communication system grows and increases its diversity, the more likely it is that conflicts arise over which content is acceptable and which is not. In addition, some content may be psychologically triggering or harmful to different people or age groups, while the same content may be desirable to share and talk about in other groups.
This specification intends to provide a machine-readable and extensible way of
conveying the kinds and classes of content which are acceptable, and hence to
be expected, on a service. Such a service can be an instant messaging account
server, a Multi-User Chat (XEP-0045)
The content ratings are provided as a set of free-form strings, scoped by a type URI.
This idea is not new. The W3C for instance has had two initiatives revolving around labelling content for the web. The Platform for Internet Content Selection (PICS) has been superseded by the Protocol for Web Description Resources (POWDER).
While the PICS approach is roughly similar to what this document intends to achieve, the POWDER standard goes way beyond that and provides much more extension points, at the cost of higher complexity.
Security Labels in XMPP (XEP-0258)
Specifically, the document states that supporting implementations MUST NOT allow the <securitylabel/> element outside of contexts of specifications known to them, which could pose interoperability issues if that element was reused for this specification.
Content Label: A free-form string qualified by a type URI.
Content Rating: A set of Content Labels which describe the describes the classes of content which may be encountered at the entity to which the rating applies.
The Content Rating is conveyed using a set of free-form strings qualified by a type attribute, the Content Labels.
A Content Label is represented by a single XML <simple-label/> element qualified by the urn:xmpp:crl:0 namespace:
The type attribute MUST be a URI. It defines the format of the CDATA contained in the <simple-label/> element. The character data of the <simple-label/> element MUST NOT contain control codes (including newline and horizontal tab).
The type URI must be URL-encoded, escaping all whitespace.
A Content Rating is represented by a <content-rating/> XML element qualified by the urn:xmpp:crl:0 namespace. It carries zero or more <simple-label/> child elements as described above.
Future extensions MAY specify other child elements for <content-rating/> in separate namespaces. See the business rules for an approach for handling those unexpected elements.
If the format needs to be conveyed in plain text form, for example to carry
the list of labels in Service Discovery Extensions (XEP-0128)
Each <simple-label/> element is converted to a line of text. The line is composed of the value of the type attribute of the element, followed by a single space character (U+0020), followed by the character data of the element.
An entity may publish a content self-rating using Service Discovery Extensions (XEP-0128)
Each line in the text-multi field corresponds to a converted <simple-label/> element as described above.
Entities with sufficient permissions to modify Multi-User Chat (XEP-0045)
Implementations which convert the labels to human-readable strings need to translate those strings. For now, no provision is made to provide pre-translated texts.
REQUIRED.
REQUIRED.
REQUIRED.
REQUIRED for protocol specifications.