OASIS Open Document Format for Office Applications (OpenDocument) TC

Re: [office] Proposal for table templates

  • 1.  Re: [office] Proposal for table templates

    Posted 02-13-2006 18:00
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    office message

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


    Subject: Re: [office] Proposal for table templates


    We discussed today the need to include paragraph styles in table templates,
    so that it's clear which paragraph styles will be used in every cell when
    creating a table using a table template.
    
    Currently it looks like
      <table:table-template>
         <table:first-row text:style-name="blueish"/>
         <table:first-column text:style-name="lightgray"/>
         <table:body      text:style-name="default"/>
      </table:table-template>
    where the styles referenced by name are expected to be table-cell styles.
    
    Solution A
    
      Referencing both the cell style and the paragraph style from the table
    template.
    
      <table:table-template>
         <table:first-row text:style-name="blueish" text:paragraph-style-name="Heading_1"/>
         <table:first-column text:style-name="lightgray" text:paragraph-style-name="Normal"/>
         <table:body      text:style-name="default" text:paragraph-style-name="Body text"/>
      </table:table-template>
    
      This reads a bit strange since "style-name" should rather be "cell-style-name",
      and it doesn't integrate the paragraph style into the cell style like the next solution does:
    
    Solution B
    
      Referencing the paragraph style from the cell style
    
      If the user himself can define named styles for table-cells, then it is
      expected that those styles include the name of a paragraph style.
      (See "Table / Table Style Manager" in KWord)
    
      So the cell style "blueish" from the table template would refer to a cell
      style defined as 
    
        <style:style style:name="blueish" style:display-name="Blueish cell" style:family="table-cell">
          <style:table-cell-properties [....] text:paragraph-style-name="Heading_1"/>
        </style:style>
    
    
    
    To go even further, the current cell styles in KOffice look like:
    
        <style:style style:name="blueish" style:display-name="Blueish cell" style:family="table-cell">
          <style:table-cell-properties koffice:frame-style-name="fr6" koffice:paragraph-style-name="U3"/>
        </style:style>
    
    where the frame style "fr6" is a style with family="graphic", which defines
    background color and border, instead of defining those properties into the
    table-cell-properties directly. For automatic styles this makes no
    difference, it's just as easy to generate an automatic style that refers
    to another one. But for named styles created by the user, this allows to
    have cell styles which refer to an existing frame style as well as an
    existing paragraph style. The format shouldn't mandate how users should
    work with named styles in an application though, so one could say that the format
    should allow both ways of defining table-cell styles: either by defining
    all the properties into the table cell style (which can certainly be useful for
    actual table cells), or defining the properties in graphic and paragraph
    styles refered by the table cell style, by name. But in fact, an application
    which simply stores the border and background properties into the table-cell
    style, could do that with the first model, by simply generating an automatic 
    frame-style and reference it from the table-cell style... so we don't really
    need both ways, except to preserve compatibility with OpenDocument-1.0,
    which seems useless for table templates since they haven't been used yet
    in either OOo or KWord.
    
    So actually... forget solutions A and B: 
    my proposal is to make table templates point to a new kind of style, let's say
    table-cell-template, which would point to a graphic style and a paragraph style by name.
    
      <table:table-template>
         <table:first-row text:style-name="blueish"/>
         <table:first-column text:style-name="lightgray"/>
         <table:body      text:style-name="default"/>
      </table:table-template>
    
    just like currently, but
    
        <style:style style:name="blueish" style:display-name="Blueish cell" style:family="table-cell-template">  <!-- note the family -->
          <style:table-cell-properties text:graphic-style-name="blue_with_border" text:paragraph-style-name="Heading_1"/>
        </style:style>
    
    where blue_with_border could either be a real (named) graphic style, or an automatic one. 
    That style would be used to define background and borders in particular.
    
    -- 
    David Faure -- faure@kde.org, dfaure@klaralvdalens-datakonsult.se
    KDE/KOffice developer, Qt consultancy projects
    Klarälvdalens Datakonsult AB, Platform-independent software solutions
    
    


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