I promised to send some input to the discussion. You find it below.
Some additional explanations/remarks:
- The proposal clearly distinguishes between files and applications: This enables very targeted communication related to conformance. Of course, there is some overlap between a file that meets certain conformance criteria, and an application that processes
- I guess the details for B.3 and B.4 will take some time to be developed – ultimately, they are the processing requirements/expectations we have been discussing on several occasions.
- My understanding is that the conformance clauses for the 1.2.1 errata would only pertain to Conformance Type 1 – if I recall correctly, we decided not to address processing requirements for the errata. For a possible future version of XLIFF, we could include
conformance clauses for both conformance types.
- I patterned the proposal after http://www.w3.org/TR/its/#conformance and http://www.oasis-open.org/committees/download.php/12572/OpenDocument-v1.0-os.pdf
- I think that the proposal captures the gist of http://wiki.oasis-open.org/xliff/XLIFF1.2/Errata#ConformanceClauses . However, the proposal
is more flexible – it allows providers of XLIFF files and applications to make very targeted statements. This should allow interested parties to clearly figure out if a certain type of interoperability already is possible or not.
- I think that the proposal can fulfill the methodological requirements that David has formulated.
I am tempted to suggest that we restrict the current discussion related to conformance to the conformance clause(s) we need for the 1.2.1 errata – we thus would only talk about Conformance Type 1 (as indicated this is how I remember a decision we have
already made). Otherwise, the scope may be too broad.
Two types of conformance are defined:
- conformance of XLIFF markup declarations
- conformance of processing requirements for XLIFF markup
These conformance types complement each other. An implementation of this specification MAY use them separately or together.
- Conformance Type 1: Markup Conformance
XLIFF markup declarations encompass all declarations that are part of XLIFF.
Documents that conform to the XLIFF specification MAY make use of extensibility mechanisms as defined by the XLIFF specification. These documents are called extended XLIFF documents.
Documents that conform to the XLIFF specification MAY contain elements and attributes not specified within the XLIFF schema. Such elements and attributes must
not be part of a namespace that is defined within this specification and are called foreign elements and attributes.
Conformant XLIFF documents MUST be valid instances of at least one of the official XML Schemas (Strict or Transitional) that are part of the XLIFF specification.
The following levels of conformance to XLIFF Markup Declarations are defined:
- Markup conformance n-un: no foreign elements and attributes; unextended
- Markup conformance n-e: no foreign elements and attributes; extended
- Markup conformance f-un: foreign elements and attributes; unextended
- Markup conformance f-e: foreign elements and attributes; extended
Markup conformance n-un is called “strict markup conformance”, markup conformance f-e is called “basic markup conformance”.
- Conformance Type 2: Processing Conformance
Processors MAY need to carry out computations based on XLIFF markup. In addition, processors MAY need to carry out computations modifying XLIFF markup. The XLIFF processing requirements define which computation has to be carried out. The requirements are
defined by conformance clauses.
The following conformance criteria for XLIFF Processing are defined:
- Prcoessing conformance r (read):
Conforming applications MUST read documents that are valid against at least one of the official XML Schemas (Strict or Transitional) that are part of the XLIFF specification if all foreign elements and attributes are removed
before validation takes place.
- Processing conformance w (write):
Conforming applications either MUST write documents that are valid against the XLIFF schema if all foreign elements and attributes are removed before validation takes place.
- Processing conformance r-p (read and process):
Conforming applications MUST implement the following processing based on XLIFF markup after having read a conformant XLIFF document:
- maintain information about the processing of the file via the phase element
- Processing conformance w-p (write and process):
Conforming applications MUST implement the following processing based on XLIFF markup when writing a conformant XLIFF document:
- Fill the “tools” elements
- Update …
Conforming applications that read and write documents MUST not alter elements, attributes or values originating in XLIFF’s extensibility mechanisms.
Conforming applications that read and write documents MUST preserve foreign elements and attributes.