OASIS Open Document Format for Office Applications (OpenDocument) TC

 View Only
  • 1.  Regarding Conformance Clauses

    Posted 01-20-2009 15:10
    Dear TC members,
    
    following our discussion regarding the conformance clauses, I would like 
    to provide a few clarifications. But before I do so, I would like to ask 
    you to provide your feedback to the conformance clause proposal wherever 
      possible as specific feedback to one the the proposed clauses, and if 
    possible, supplemented with suggestions how to modify or adapt them. 
    This will make it much easier for me to address it.
    
    1. The only extension point that ODF 1.1 has that is effected by my 
    conformance clause proposals are foreign elements and attributes, that 
    is, elements and attributes that are not defined by the ODF 
    specification, and that may be mixed with ODF elements. Other extension 
    points are not covered by the proposal.
    
    2. Both proposals define a conforming document as one that does not 
    contain any foreign elements and attributes. Both proposal require that 
    a conforming ODF producer is able to produce conforming documents, and 
    both proposals say that a conforming consumer should able to parse 
    documents that contain foreign elements (The last should could be turned 
    into a shall if this is the concern). So, the only (intended) 
    differences between the two proposals are that in the first one, a 
    document that contains foreign elements or attributes may be called a 
    "loosely conforming ODF document", and that a conforming producer may 
    create loosely conforming document in addition to conforming ones.
    
    In contrast, in the 2nd proposal, called "alternative proposal", there 
    is no definition for a loosely conforming document. That means that a 
    ODF 1.2 document that contains foreign elements or attributes must not 
    be called an ODF document. Please note that this does not forbid 
    conforming application to produce such documents. They only must not 
    call these documents ODF documents, and of cause, they must be able to 
    produce conforming ODF documents additionally.
    
    3. ODF 1.1 defines two schemas, a strict schema and a non-strict schema. 
    The difference between the two schemas is that the non-strict schema 
    allows arbitrary elements and attributes within 


  • 2.  RE: [office] Regarding Conformance Clauses

    Posted 01-20-2009 17:24
    Thanks for this summary.
    
    The language I would like to see retained, even if there is no
    loosely-conforming category, is a definition of foreign elements with the
    agreed rules on how they MAY be accepted, and what SHOULD be done when they
    are accepted and not understood by a conformant processor.
    
    In addition, I would like to see a clause that suggests that conformant
    processors SHOULD treat those conformant-document elements and attributes
    that are not supported by a conformant implementation as foreign.  (At the
    moment, we simply say nothing about this case.)
    
    I have no problem with there being a single schema that is the same as what
    the strict schema is intended to accomplish.  I think that is a good idea.
    It would be much cleaner and understandable.
    
     - Dennis
    
      
    
    


  • 3.  Re: [office] Regarding Conformance Clauses

    Posted 01-21-2009 09:12
    Hi Dennis,
    
    On 01/20/09 18:24, Dennis E. Hamilton wrote:
    > Thanks for this summary.
    > 
    > The language I would like to see retained, even if there is no
    > loosely-conforming category, is a definition of foreign elements with the
    > agreed rules on how they MAY be accepted, and what SHOULD be done when they
    > are accepted and not understood by a conformant processor.
    
    Sorry, but which language in the ODF 1.1 spec are you referring to? 
    Which statement in the current proposals is unclear in this regard?
    
    > 
    > In addition, I would like to see a clause that suggests that conformant
    > processors SHOULD treat those conformant-document elements and attributes
    > that are not supported by a conformant implementation as foreign.  (At the
    > moment, we simply say nothing about this case.)
    
    What we say is "(P1.3) It [a conforming consumer] shall be able to parse 
    any conforming OpenDocument documents, but it need not interpret the 
    semantics of all elements, attributes and attribute values."
    
    What is missing?
    
    > 
    > I have no problem with there being a single schema that is the same as what
    > the strict schema is intended to accomplish.  I think that is a good idea.
    > It would be much cleaner and understandable.
    
    Best regards
    
    Michael
    
    
    > 
    >  - Dennis
    > 
    >   
    > 
    > 


  • 4.  RE: [office] Regarding Conformance Clauses

    Posted 01-26-2009 03:01
    Michael,
    
    1. I am interested in having the foreign element definition and the
    processing procedure be the same as the one in ODF 1.1.  The one proposed
    for ODF 1.2 is different and also flips the meaning of the
    office:process-content attribute.  I see no justification for making that a
    breaking change, especially if such foreign elements were seen by an ODF 1.1
    processor, or (originally) created by an ODF 1.1 processor.  Maybe we should
    look at the Document Processing portion of the proposal separately, after
    deciding if any of it belongs in the conformance section.
    
    2. With regard to P1.3, I think the statement should be stronger.  I think
    that if a conforming consumer does not interpret the semantics of an
    element, attribute, or attribute value, it SHOULD behave as if that were a
    foreign element, attribute, or attribute value (not sure there is such a
    thing as a foreign attribute value though).  We should also consider whether
    office:process-content could be used in those cases by document producers in
    advising less-capable consumers of an appropriate action. 
    
     - Dennis
    
    


  • 5.  Re: [office] Regarding Conformance Clauses

    Posted 01-26-2009 14:25
    Dennis,
    
    On 01/26/09 04:00, Dennis E. Hamilton wrote:
    > Michael,
    > 
    > 1. I am interested in having the foreign element definition and the
    > processing procedure be the same as the one in ODF 1.1.  The one proposed
    > for ODF 1.2 is different and also flips the meaning of the
    > office:process-content attribute.  I see no justification for making that a
    
    Does it? The wording is a little bit different, but I can't see
    where it's meaning is flipped. Or is what you mean the the default value 
    of the attribute in ODF 1.1 is "true"?
    
    > breaking change, especially if such foreign elements were seen by an ODF 1.1
    
    Let me explain this a little bit further. Foreign elements cannot be
    validated with Relax-NG. That is, one cannot write a Relax-NG schema
    that allows the embedding of foreign elements anywhere while it at the
    same time still validates the elements and attributes defined by ODF,
    and their nesting. That's why we describe how these elements are
    processed in prose.
    
    With NVDL it would be possible to write a script that allows a
    validation of the ODF documents even if it contains foreign elements.
    But there is still a problem with office:process-content. Depending on
    it's value, a NVDL script would have to specify that the content of the
    element that has to be validated or has to be ignored. While NVDL has
    these two modes, it can't select the one or the other based on an
    attribute value. It can only select one or the other mode based on
    element paths. So, while NVDL would allow us to specify whether the 
    content of an element is processed for the purpose of validation or 
    ignored, it does not allow us to make this decision based on an 
    attribute value.
    
    Which means that, if we keep the office:process-content attribute, that
    we still cannot develop an NVDL script that validates ODF with foreign
    elements. The deprecation of this attribute therefore is a step into the
    direction where we can use NVDL for validating ODF documents. And the 
    future use of NVDL is actually the reason why I have proposed to 
    deprecate this attribute.
    
    But if we deprecate the office:process-content attribute, then the
    question is what should be the behavior of consumers when they find
    foreign elements. It then appears to be reasonable to process their
    content within text content (paragraphs and headings), because it can be 
    assumed here that these elements contain text that is text content, and 
    that therefor should be displayed.
    
    In all other cases, it can be assumed that displaying text content would 
    be an error, and it therefore appears to be reasonable to ignore the 
    content of the element.
    
    > processor, or (originally) created by an ODF 1.1 processor.  Maybe we should
    
    An ODF 1.2 producer that uses foreign elements within text content and
    does not want their content to be interpreted still may attach an
    office:process-content=false. Anyway, I would not recommend to uses such
    foreign elements within text content.
    
    An ODF 1.1 document still would have to be processed as an ODF 1.1
    document by an ODF 1.2 application. We do not and can not change the
    processing of ODF 1.1 documents by the ODF 1.2 specification.
    
    > look at the Document Processing portion of the proposal separately, after
    > deciding if any of it belongs in the conformance section.
    > 
    > 2. With regard to P1.3, I think the statement should be stronger.  I think
    > that if a conforming consumer does not interpret the semantics of an
    > element, attribute, or attribute value, it SHOULD behave as if that were a
    > foreign element, attribute, or attribute value (not sure there is such a
    > thing as a foreign attribute value though).  We should also consider whether
    
    I don't think that we need that, and I'm also not sure if this would
    really work.
    
    The ODF specification defines the semantics of the elements it defines.
    Whether a consumer that does not support a particular element has to
    process the content of that element depends on whether there are child
    elements it supports. Which means that the implementors of a consumer of
    cause have to decide what action the consumer takes for all elements
    that ODF defines, even if they don't support or do not fully support a
    particular element. The difference to foreign elements is that they can
    make that decision, because the ODF specification tells them what the
    elements mean. That is not the case for foreign elements. For this
    reason, we need some precise rules there.
    
    > office:process-content could be used in those cases by document producers in
    > advising less-capable consumers of an appropriate action. 
    
    Again, I don't think that is necessary. Even a less-capable application
    has to take some reasonable action for elements it does not support.
    What actions this is depends on the purpose of the specification. I
    don't think that can be decided by an application that stores a
    document, and which does not have any knowledge about the "less-capable"
    application.
    
    Furthermore, using the attribute for elements that ODF defines would
    only increase the document size, but it would not add any value, because
    the information whether it is reasonable to process an element or not 
    can be found already in the specification.
    
    Best regards
    
    Michael
    
    -- 
    Michael Brauer, Technical Architect Software Engineering
    StarOffice/OpenOffice.org
    Sun Microsystems GmbH             Nagelsweg 55
    D-20097 Hamburg, Germany          michael.brauer@sun.com
    http://sun.com/staroffice         +49 40 23646 500
    http://blogs.sun.com/GullFOSS
    
    Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1,
    	   D-85551 Kirchheim-Heimstetten
    Amtsgericht Muenchen: HRB 161028
    Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
    Vorsitzender des Aufsichtsrates: Martin Haering
    
    
    


  • 6.  RE: [office] Regarding Conformance Clauses

    Posted 02-04-2009 00:18
    I don't understand the preoccupation with tooling.  The ODF specification is
    clearly implementable because people have done so.  How foreign elements are
    dealt with, if encountered, is also something implementations have dealt
    with.  
    
    Of course the stipulation has to be made in prose.  It is not possible to
    know what someone who did want to accept somehow-known foreign elements
    would modify their acceptance schema to allow specific ones, and we won't
    know how the added-element and attribute schemas merge into the strict
    schema.  We also don't know how they handle ones they don't know about but
    they want to be graceful with.
    
    If we only provide strict schemas, RelaxNG validators will presumably not
    assess documents having anything else as conformant.  That strikes me as
    fine.  Assessing documents that have foreign elements and attributes is a
    matter for those who want to assess such documents.  I am going to presume
    that where there's a will, there's a way.
    
    With regard to the specific behavior of adjusting to the presence of foreign
    elements and attributes in accepting and processing a document, I assume
    that there is sufficient implementer ingenuity in the world to handle that
    if it is desired.
    
    We have, after all, been operating with that definition since 2005 and there
    is no evident harm.
    
    
     - Dennis
    
    PS: I see no reason to make contortions to satisfy a specific tool.  That is
    far removed from the purpose of the ODF specifications, it seems to me.  In
    particular, there seems to be no concern that NVDL cannot verify that the
    office:mimetype attribute value and the 


  • 7.  RE: [office] Regarding Conformance Clauses

    Posted 02-04-2009 02:18
    Michael,
    
    I had to stop and think about this.   The only statement in ODF 1.0/IS
    26300/ODF 1.1 seems to be this one:
    
       There are no rules regarding the elements and attributes that actually 
       have to be supported by conforming applications, except that applications
       should not use foreign elements and attributes for features defined in 
       the OpenDocument schema. 
     
    In the latest conformance proposal (v8), the counterpart seems to be this
    passage:
    
       (P1) A Conforming OpenDocument Consumer ...
            (P1.3) ... shall be able to parse any [v8-]conforming 
            OpenDocument documents, but it need not interpret the
            semantics of all elements, attributes, and attribute
            values.
    
    I think it is relatively clear what "supported" means (interpretation and
    production in conformance with this specification), although something more
    explicit might be valuable.  I don't think "need not interpret" implies
    anything about doing something "reasonable," and I know no normative
    statement around reasonableness.  I also believe there is a way to say this
    that handles your concern about text content showing up where it no longer
    fits.  [I need to go check the XML nomenclature for content that consists of
    possibly other elements with or without possible non-whitespace text.]
    
    So while it might be useful to behave in the way you suggest, I don't think
    a requirement for that behavior can be read into P1.3.  That is why I
    propose to say something about how those unsupported elements MAY be
    handled.  That would remain compatible with earlier potential treatment.
    Saying how they SHOULD be handled might work if confined to
    strictly-conformant consumers, since we have not had such a thing before and
    we aren't breaking any precedent.
    
     - Dennis
    
    PS: On further reading, I also notice that there is no consideration that a
    conforming processor might be able to support a foreign element, attribute,
    or attribute value and so it is not going to handle the foreign EAV in the
    way described.  So it is strange to say that a [v8]-conforming processor
    [read: consumer] SHOULD NOT interpret the element's content.  I think the
    problem is that there are two flavors of document conformance but not
    matching flavors of processing (consuming or producing) performance.  This
    and other hiccups are perhaps best handled by wordsmithing a draft once the
    basis principles are agreed to.