OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

oiic-formation-discuss message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [oiic-formation-discuss] Welcome!



"Dave Pawson" <dave.pawson@gmail.com> wrote on 06/05/2008 02:40:20 AM:

>
> David R: One should clarify though that what Rik has done is show a
> PRE-VALIDATION technique of pre-processing the ODF content - ready for
> unwards validation by further steps - by removing (stripping) non-ODF
> content.
>
> Perhaps NVDL would help there, certainly xproc will be a useful tool.
>

To my knowledge, no ODF implementation today actually writes additional content to an ODF document in a foreign namespace, although the standard allows this.  But what I have seen is an application adding additional attributes into an existing ODF namespace.  But this is a simple validity error and is caught directly by any validating parser.  But Rick's pre-validation NVDL is something we can add to our bag of tricks, in case it ever comes up in the future.

When we talk about conformance with ODF, we're really talking about two things, since the ODF standard defines document conformance as well as application conformance.  The former is the easier one to test, and lends itself to automation.

A full check of ODF document conformance would need to do something like:

1) Verify the document file name extensions and/or MIME content type and verify that it matches the contents of the underlying document.  An ODT file containing a spreadsheet should be noted, for example.

2) Verify the correctness of the Zip container.  Is it actually following the referenced Zip specification?  

3) Verify the referential integrity of the package.  Does the manifest reference files that don't exist, for example?  Are all the required parts present?

4) Verify the Relax NG validity of each of the contained XML documents, pre-processing as needed.

5) Verify additional referential integrity constraints.  For example, the content XML typically refers to named styles in the syles xml.  These cross-document references need to be checked.

6) Verify the various micro-formats contained in ODF.  There are some things that are not easily expressable as a schema type, even using a regex.  For example, spreadsheet functions, with its hundreds of functions, some with variable arguments, which could take cell ranges, named ranges, or constants as parameters.  These are defined in the standard via EBNF.  A full conformance test would take each of these attributes and verify that they match the production rules defined by the EBNF.

7) Other recommendations of the ODF standard, even where not conformance requirements.  These should be checked, and warnings (not errors) emitted.  For example, we have a number of accessibility best practices that could be statically verifiable. Similarly, we can have portability warnings.  For example, a spreadsheet can have as many rows as it wished, but for portability we might recommend no more than 64K rows.

There are probably other pieces as well, but that's an outline of what we could do for document conformance.  Ideally I'd like any such tool to be event-driven (like SAX) and pluggable, so other modules can be independently developed and later added.

-Rob

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]