← Prev in month ← Prev in thread
Next in thread → Next in month →

Template of describing a component

From
Svante Schubert <>
Date
2013-01-29T20:26:42+00:00
ID
Thread
Template of describing a component
When we specify a component - the logical puzzle piece of the
    document from a user perspective - there are repeating sets of
    information to be given:

    
      
Which ODF XML element marks the beginning of the component

      
What is the minimal XML node set that has to be provided, when
        adding the bare (or default) component

      
What is the maximal XML node set that might belong directly to
        the component (child components not included)

      

      
What logical operations are usually on the XML node set. 

        (NOTE: If all document changes should be tracked - which is not
        the case for us now, as we focus on the ECT feature set - all
        XML nodes need to be covered by operations.)

      
How does a defined operation change the XML node set of a
        component. 

        (REMEMBER: A parametrized operation is just a placeholder for an
        ODF XML change).

    
    
In our high-level auxiliary model a component consists of one or
      more XML nodes. The state of a component is given by its
      properties, which are in general being mapped to XML attributes.

    

    
We should keep in mind, that the component model allows us to
      abstract from the design decision of the ODF XML model.

      The definition of components and their properties is just an
      intermediate step, as the real importance for change-tracking is
      not the state, but the state changes represented by operation with
      parameters (the XML change abbreviation).

    

    
For example, although ODF XML differentiate between a paragraph,
      a heading and a list item, all three of them are based on a
      paragraph.

      As a design suggestion: A paragraph with an outlineLevel property
      (based on the @text:outline-level attribute) higher than 0 is
      called a heading.

      A paragraph with an indentLevel property (based on the nesting
      within the text:list/text:list-item element duo) higher than 0
      part of an list-item of a list.

      Similar to the border style handling of paragraphs, where no
      border is drawn between paragraphs of the same style, a list label
      is only drawn at the first paragraph with the same indentLevel.

    

    
Therefore the change/transformation of a paragraph to a heading
      or movement of a paragraph into a a list-item, can be simply
      archived by property changes on the paragraph component, not by
      complex delete/insert operation of different foreign components.

    

    
Looking forward to discuss this tomorrow,

      Svante
← Prev in month ← Prev in thread
Next in thread → Next in month →