In support of profiles

My reasons for supporting different profiles.



Terms.

Core profile. A minimal MD syntax and semantic which is already in
common use across many implementations. An early deliverable for the group.

Intermediate profile. A more comprehensive MD syntax and semantic. The
coverage should aim for as much as can be fully defined, as found in
some majority of implementations. This boundary will only be found by
thorough testing.

App-specific profile. An extension beyond the intermediate profile,
incorporating implementation specific syntax and semantics. This is
where additional items can be introduced such as metadata.

Rationale.

The group is new and not yet aligned to a common understanding of
deliverables.

For a core profile

A reduced syntax and semantic (for core) can be defined more easily.
A core profile will provide a solid basis on which to build a more
  useful (to users) specification with greater coverage.
A core profile will be faster to generate and hence show progress, to
  us and others.
A core profile will demonstrate to implementers that we aren't
  reinventing the wheel
A core profile will be easier to test against for implementers to gain
  alignment.
A core profile will allow us to fully test the syntax and find the
  corner cases.
If we fully document (for users) the profile, we can demonstrate understanding.

For an intermediate profile.

A superset of the core profile.
An optimum syntax and fully defined semantic to align with as many
  implementations as possible whilst remaining testable and consistant.
Fully documented.
Fully tested with available test inputs and outputs.
Aimed at  more than 80% matching output on a large number of
  implementations.
Where minor variances are found, the reason for the variance is well
  documented.

For an app-specific (or full?) profile.

Where non-standard syntax and semantic can be included.
To encompass implementer extensions for their user base.
To add [optional] features which the group feel are of value (perhaps
  available only in some implementations), e.g. could be character
  set, profile name...
Perhaps to indicate a manner in which extensions are incorporated and
  identified.







-- 
Dave Pawson
XSLT XSL-FO FAQ.
Docbook FAQ.
http://www.dpawson.co.uk

Received on Tuesday, 27 November 2012 11:05:06 UTC