OASIS Open Document Format for Office Applications (OpenDocument) TC

  • 1.  Conditional Styles

    Posted 08-14-2003 16:10
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    office message

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


    Subject: Conditional Styles


    Hi all,
    
    My action item was to explain how conditional styles work. Consider a 
    style which is supposed to look different depending on the position of 
    the document, so that e.g. a complete document could be formatted as 
    style 'mapped-style', but still render sensibly. E.g., the following 
    would have inherited "Standard" attributes for normal text, but would 
    use "footnote-style", "header-style" and "footer-style" for footnotes, 
    headers and footers, respectively.
    
    <style:style style:name="mapped-style"
        style:family="paragraph"
        style:parent-style-name="Standard"
        style:class="text">
      <style:map style:condition="footnote()" 
    style:apply-style-name="footnote-style"/>
      <style:map style:condition="header()" 
    style:apply-style-name="header-style"/>
      <style:map style:condition="footer()" 
    style:apply-style-name="footer-style"/>
    </style:style>
    
    In the text document, paragraphs look as follows:
    Normal:  <text:p text:style-name="mapped-style">
    Footnote: <text:p text:style-name="footnote-style" 
    text:cond-style-name="mapped-style">
    Header: <text:p text:style-name="header-style" 
    text:cond-style-name="mapped-style">
    Footer: <text:p text:style-name="footer-style" 
    text:cond-style-name="mapped-style">
    
    So in order to _render_ the document, one can _always_ access the style 
    properties for the style in 'text:style-name'. Only if one is interested 
    in (re-)evaluating the conditions, one needs to look at 
    text:cond-style-name attribute to find the style which contains the map. 
    Applications that don't understand would thus function without any 
    problems, except that they would loose the style mapping (unless the 
    relevant maps/attributes are preserved). Applications that do understand 
    would have to look at text:cond-style-name to find the mapped style, and 
    would only use text:style-name in case no text:cond-style-name attribute 
    is present.
    
    Sincerely,
    Daniel
    
    
    
    
    
    
    


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