You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ke...@apache.org on 2002/12/02 13:00:12 UTC

cvs commit: xml-fop/src/documentation/content/xdocs/design/alt.design alt-properties.xml AbsolutePosition.png.xml BorderCommonStyle.png.xml PropNames.png.xml Properties.png.xml PropertyConsts.png.xml VerticalAlign.png.xml book.xml classes-overview.xml coroutines.xml footnotes.xml galleys.xml keeps.xml properties-classes.xml spaces.xml user-agent-refs.xml xml-parsing.xml alt.properties.xml

keiron      2002/12/02 04:00:12

  Modified:    src/documentation/content/xdocs/design/alt.design
                        AbsolutePosition.png.xml BorderCommonStyle.png.xml
                        PropNames.png.xml Properties.png.xml
                        PropertyConsts.png.xml VerticalAlign.png.xml
                        book.xml classes-overview.xml coroutines.xml
                        footnotes.xml galleys.xml keeps.xml
                        properties-classes.xml spaces.xml
                        user-agent-refs.xml xml-parsing.xml
  Added:       src/documentation/content/xdocs/design/alt.design
                        alt-properties.xml
  Removed:     src/documentation/content/xdocs/design/alt.design
                        alt.properties.xml
  Log:
  fixed some errors
  
  Revision  Changes    Path
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/AbsolutePosition.png.xml
  
  Index: AbsolutePosition.png.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/AbsolutePosition.png.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbsolutePosition.png.xml	2 Dec 2002 10:19:42 -0000	1.1
  +++ AbsolutePosition.png.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -13,7 +13,7 @@
       <body>
       <section>
         <title>Properties$AbsolutePosition</title>
  -      <figure src="AbsolutePosition.png" alt="AbsolutePosition diagram"/>
  +      <figure src="images/design/alt.design/AbsolutePosition.png" alt="AbsolutePosition diagram"/>
       </section>
   
       </body>
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/BorderCommonStyle.png.xml
  
  Index: BorderCommonStyle.png.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/BorderCommonStyle.png.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BorderCommonStyle.png.xml	2 Dec 2002 10:19:42 -0000	1.1
  +++ BorderCommonStyle.png.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -13,7 +13,7 @@
       <body>
       <section>
         <title>Properties$BorderCommonStyle</title>
  -      <figure src="BorderCommonStyle.png" alt="BorderCommonStyle diagram"/>
  +      <figure src="images/design/alt.design/BorderCommonStyle.png" alt="BorderCommonStyle diagram"/>
       </section>
       </body>
   </document>
  
  
  
  1.2       +2 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/PropNames.png.xml
  
  Index: PropNames.png.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/PropNames.png.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PropNames.png.xml	2 Dec 2002 10:19:42 -0000	1.1
  +++ PropNames.png.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -5,6 +5,7 @@
   <document>
       <header>
           <title>..fo.PropNames diagram</title>
  +    <authors>
         <person id="pbw" name="Peter B. West"
           email="pbwest@powerup.com.au"/>
       </authors>
  @@ -12,7 +13,7 @@
       <body>
       <section>
         <title>PropNames.class</title>
  -      <figure src="PropNames.png" alt="PropNames.class diagram"/>
  +      <figure src="images/design/alt.design/PropNames.png" alt="PropNames.class diagram"/>
       </section>
       </body>
   </document>
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/Properties.png.xml
  
  Index: Properties.png.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/Properties.png.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Properties.png.xml	2 Dec 2002 10:19:42 -0000	1.1
  +++ Properties.png.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -13,7 +13,7 @@
       <body>
       <section>
         <title>Properties.class</title>
  -      <figure src="Properties.png" alt="Properties.class diagram"/>
  +      <figure src="images/design/alt.design/Properties.png" alt="Properties.class diagram"/>
       </section>
       </body>
   </document>
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/PropertyConsts.png.xml
  
  Index: PropertyConsts.png.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/PropertyConsts.png.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PropertyConsts.png.xml	2 Dec 2002 10:19:42 -0000	1.1
  +++ PropertyConsts.png.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -13,7 +13,7 @@
       <body>
       <section>
         <title>PropertyConsts.class</title>
  -      <figure src="PropertyConsts.png" alt="PropertyConsts.class diagram"/>
  +      <figure src="images/design/alt.design/PropertyConsts.png" alt="PropertyConsts.class diagram"/>
       </section>
       </body>
   </document>
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/VerticalAlign.png.xml
  
  Index: VerticalAlign.png.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/VerticalAlign.png.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- VerticalAlign.png.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ VerticalAlign.png.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -13,7 +13,7 @@
       <body>
       <section>
         <title>Properties$VerticalAlign</title>
  -      <figure src="VerticalAlign.png" alt="VerticalAlign diagram"/>
  +      <figure src="images/design/alt.design/VerticalAlign.png" alt="VerticalAlign diagram"/>
       </section>
       </body>
   </document>
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/book.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- book.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ book.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -18,7 +18,7 @@
         <menu-item label="footnotes" href="footnotes.html"/>
         <menu-item label="keeps" href="keeps.html"/>
         <menu-item label="space-specifiers" href="spaces.html"/>
  -      <menu-item label="alt.properties" href="alt.properties.html"/>
  +      <menu-item label="alt.properties" href="alt-properties.html"/>
         <menu-item label="Classes overview" href="classes-overview.html"/>
         <menu-item label="Properties classes" href="properties-classes.html"/>
         <menu-item label="Properties" href="Properties.png.html"/>
  
  
  
  1.2       +2 -2      xml-fop/src/documentation/content/xdocs/design/alt.design/classes-overview.xml
  
  Index: classes-overview.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/classes-overview.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- classes-overview.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ classes-overview.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -82,7 +82,7 @@
       static data and methods have been split tentatively into
       three:
     </p>
  -  <figure src="PropertyStaticsOverview.png" alt="Top level
  +  <figure src="images/design/alt.design/PropertyStaticsOverview.png" alt="Top level
       property classes"/>
     <dl>
       <dt><link href="PropNames.html">PropNames</link></dt>
  @@ -191,7 +191,7 @@
         </section>
         <p>
     <strong>Previous:</strong> <link href=
  -  "alt.properties.html" >alt.properties</link>
  +  "alt-properties.html" >alt.properties</link>
         </p>
         <p>
     <strong>Next:</strong> <link href=
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/coroutines.xml
  
  Index: coroutines.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/coroutines.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- coroutines.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ coroutines.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -88,7 +88,7 @@
       left off.<br/><br/>
       <strong>Figure 1</strong>
     </p>
  -  <figure src="coroutines.png" alt="Co-routine diagram"/>
  +  <figure src="images/design/alt.design/coroutines.png" alt="Co-routine diagram"/>
     <p>
       For example, think of a page-production method working on a
       complex page-sequence-master.
  
  
  
  1.2       +6 -6      xml-fop/src/documentation/content/xdocs/design/alt.design/footnotes.xml
  
  Index: footnotes.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/footnotes.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- footnotes.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ footnotes.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -28,7 +28,7 @@
           <title>Footnotes and galleys</title>
     <p>
       In the structure described in the <link href=
  -    "../galleys.html" >introduction to FOP galleys</link>,
  +    "galleys.html" >introduction to FOP galleys</link>,
       footnotes would be pre-processed as galleys themselves, but
       they would remain attached as subtrees to their points of 
       invocation in the main text.  Allocation to a
  @@ -38,7 +38,7 @@
     <p>
       When footnotes are introduced, the communication between
       galleys and layout manager, as mentioned <link href=
  -    "../galleys.html#pre-processing" >above</link>, would be
  +    "galleys.html#pre-processing" >above</link>, would be
       affected.  The returned information would two b-p-d values: 
       the primary line-area b-p-d impact and the footnote b-p-d
       impact.  The distinction is necessary for two reasons; to
  @@ -56,7 +56,7 @@
     </note>
     <p>
       This note assumes a galley, as discussed <link href=
  -    "../galleys.html" >elsewhere</link>, flowing text with
  +    "galleys.html" >elsewhere</link>, flowing text with
       footnotes and possibly other blocks into a possibly
       multi-column area.  The logic of flowing into multiple
       columns is trivially applied to a single column.  The galley
  @@ -100,7 +100,7 @@
       and totals for each column.<br/><br/>
       <strong>Figure 1</strong> Columns before first footnote.
     </p>
  -  <figure src="initial-column-values.png" alt="Columns before
  +  <figure src="images/design/alt.design/initial-column-values.png" alt="Columns before
       first footnote"/>
         </section>
         <section>
  @@ -109,7 +109,7 @@
       <strong>Figure 2</strong> Adding a line area with first
       footnote.
     </p>
  -  <figure src="line-area-5.png"
  +  <figure src="images/design/alt.design/line-area-5.png"
       alt="Columns after adding first footnote"/>
     <p>
       Columns are balanced dynamically in the galley preliminary
  @@ -127,7 +127,7 @@
       <strong>Figure 3</strong> Adding a line area with next
       footnote.
     </p>
  -  <figure src="line-area-6.png"
  +  <figure src="images/design/alt.design/line-area-6.png"
       alt="Columns after adding next footnote"/>
         </section>
         <section>
  
  
  
  1.2       +2 -2      xml-fop/src/documentation/content/xdocs/design/alt.design/galleys.xml
  
  Index: galleys.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/galleys.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- galleys.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ galleys.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -93,7 +93,7 @@
       "../layout.html" >layout managers</link><em></em> already
       proposed, the layout tree acts as a bridge between the <link
       href= "../fotree.html" >FO Tree</link> and the <link href=
  -    "../areatree.html" >Area Tree</link>.  If the elements of
  +    "../areas.html" >Area Tree</link>.  If the elements of
       the FO Tree are FO nodes, and the elements of the Area Tree
       are Area nodes, representing areas to be drawn on the output
       medium, the elements of the layout tree are <strong>galley
  @@ -178,7 +178,7 @@
       <br/><br/>
       <strong>Figure 1</strong>
     </p>
  -  <figure src="galley-preprocessing.png" alt="Galley
  +  <figure src="images/design/alt.design/galley-preprocessing.png" alt="Galley
       pre-processing diagram"/>
     <p>
       Once this pre-processing has been achieved, it is
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/keeps.xml
  
  Index: keeps.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/keeps.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- keeps.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ keeps.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -72,7 +72,7 @@
       <strong>Figure 1</strong>
     </p>
     <anchor id="Figure1"/>
  -  <figure src="block-stacking.png" alt="Simple block-stacking
  +  <figure src="images/design/alt.design/block-stacking.png" alt="Simple block-stacking
       diagram"/>
     <p>
       The three basic links are:
  
  
  
  1.2       +1 -1      xml-fop/src/documentation/content/xdocs/design/alt.design/properties-classes.xml
  
  Index: properties-classes.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/properties-classes.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- properties-classes.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ properties-classes.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -12,7 +12,7 @@
       <body>
       <section>
         <title>fo.Properties and the nested properties classes</title>
  -      <figure src="PropertyClasses.png" alt="Nested property and
  +      <figure src="images/design/alt.design/PropertyClasses.png" alt="Nested property and
           top-level classes"/> 
         <section>
           <title>Nested property classes</title>
  
  
  
  1.2       +2 -2      xml-fop/src/documentation/content/xdocs/design/alt.design/spaces.xml
  
  Index: spaces.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/spaces.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- spaces.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ spaces.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -58,7 +58,7 @@
       <link href="#Figure1">Figure 1</link>.)
     </p>
     <p><strong>Figure 1</strong></p><anchor id="Figure1"/> 
  -  <figure src="block-stacking-constraints.png" 
  +  <figure src="images/design/alt.design/block-stacking-constraints.png" 
       alt="block-stacking-constraints.png"/>
     <note>
       Figure 1 assumes a block-progression-direction of top to
  @@ -126,7 +126,7 @@
     </p>
     <p><strong>Figure 2</strong></p>
     <anchor id="Figure2"/>
  -  <figure src="block-stacking-keeps.png"
  +  <figure src="images/design/alt.design/block-stacking-keeps.png"
       alt="block-stacking-keeps.png"/>
         </section>
         <section>
  
  
  
  1.2       +3 -2      xml-fop/src/documentation/content/xdocs/design/alt.design/user-agent-refs.xml
  
  Index: user-agent-refs.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/user-agent-refs.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- user-agent-refs.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ user-agent-refs.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -485,7 +485,7 @@
         value to a "reasonable" value based on the font size of
         the element.
       </p>
  -  </s3>
  +  </section>
     <p>
       ... When an element contains text that is rendered in more
       than one font, <strong>user agents</strong> should determine
  @@ -741,7 +741,8 @@
         </section>
         <section>
           <title>7.26.5 "border-separation"</title>
  -  <s3 title="&lt;length-bp-ip-direction&gt;">
  +  <section>
  +    <title>&lt;length-bp-ip-direction&gt;</title>
       <p>
         ... Rows, columns, row groups, and column groups cannot
         have borders (i.e., <strong>user agents</strong> must
  
  
  
  1.2       +3 -3      xml-fop/src/documentation/content/xdocs/design/alt.design/xml-parsing.xml
  
  Index: xml-parsing.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/design/alt.design/xml-parsing.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xml-parsing.xml	2 Dec 2002 10:19:43 -0000	1.1
  +++ xml-parsing.xml	2 Dec 2002 12:00:11 -0000	1.2
  @@ -40,7 +40,7 @@
       callback must complete before the next is called.<br/><br/>
       <strong>Figure 1</strong>
     </p>
  -  <figure src="SAXParsing.png" alt="SAX parsing schematic"/>
  +  <figure src="images/design/alt.design/SAXParsing.png" alt="SAX parsing schematic"/>
     <p>
       In the process of parsing, the hierarchical structure of the
       original FO tree is flattened into a number of streams of
  @@ -104,7 +104,7 @@
       footprint.  This occurs when the approach is generalised to
       modularise FOP processing.<br/><br/> <strong>Figure 2</strong>
     </p>
  -  <figure src="XML-event-buffer.png" alt="XML event buffer"/>
  +  <figure src="images/design/alt.design/XML-event-buffer.png" alt="XML event buffer"/>
     <p>
       The most useful change that this brings about is the switch
       from <em>passive</em> to <em>active</em> XML element
  @@ -220,7 +220,7 @@
       processes.<br/><br/>
       <strong>Figure 3</strong>
     </p>
  -  <figure src="processPlumbing.png" alt="FOP modularisation"/>
  +  <figure src="images/design/alt.design/processPlumbing.png" alt="FOP modularisation"/>
         </section>
       </section>
       </body>
  
  
  
  1.1                  xml-fop/src/documentation/content/xdocs/design/alt.design/alt-properties.xml
  
  Index: alt-properties.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
      "http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">
  
  <document>
      <header>
          <title>Implementing Properties</title>
      <authors>
         <person id="pbw" name="Peter B. West" email="pbwest@powerup.com.au"/>
      </authors>
      </header>
      <body>
      <section>
        <title>An alternative properties implementation</title>
        <note> 
    The following discussion focusses on the relationship between
    Flow Objects in the Flow Object tree, and properties.  There
    is no (or only passing) discussion of the relationship between
    properties and traits, and by extension, between properties
    and the Area tree.  The discussion is illustrated with some
    pseudo-UML diagrams.
        </note>
        <p>
    Property handling is complex and expensive. Varying numbers of
    properties apply to individual Flow Objects
    <strong>(FOs)</strong> in the <strong>FO
    tree </strong> but any property may effectively be
    assigned a value on any element of the tree.  If that property
    is inheritable, its defined value will then be available to
    any children of the defining FO.
        </p>
        <note>
    <em>(XSL 1.0 Rec)</em> <strong>5.1.4 Inheritance</strong>
    ...The inheritable properties can be placed on any formatting
    object.
        </note>
        <p>
    Even if the value is not inheritable, it may be accessed by
    its children through the <code>inherit</code> keyword or the
    <code>from-parent()</code> core function, and potentially by
    any of its descendents through the
    <code>from-nearest-specified-value()</code> core function.
        </p>
        <p>
    In addition to the assigned values of properties, almost every
    property has an <strong>initial value</strong> which is used
    when no value has been assigned.
        </p>
        <section>
          <title>The history problem</title>
        <p>
    The difficulty and expense of handling properties comes from
    this univeral inheritance possibility.  The list of properties
    which are assigned values on any particular <em>FO</em>
    element will not generally be large, but a current value is
    required for each property which applies to the <em>FO</em>
    being processed.
        </p>
        <p>
    The environment from which these values may be selected
    includes, for each <em>FO</em>, for each applicable property,
    the value assigned on this <em>FO</em>, the value which
    applied to the parent of this <em>FO</em>, the nearest value
    specified on an ancestor of this element, and the initial
    value of the property.
        </p>
        </section>
        <section>
          <title>Data requirement and structure</title>
    <p>
      This determines the minimum set of properties and associated
      property value assignments that is necessary for the
      processing of any individual <em>FO</em>.  Implicit in this
      set is the set of properties and associated values,
      effective on the current <em>FO</em>, that were assigned on
      that <em>FO</em>.
    </p>
    <p>
      This minimum requirement - the initial value, the
      nearest ancestor specified value, the parent computed value
      and the value assigned to the current element -
      suggests a stack implementation.
    </p>
        </section>
        <section>
          <title>Stack considerations</title>
    <p>
      One possibility is to push to the stack only a minimal set
      of required elements.  When a value is assigned, the
      relevant form or forms of that value (specified, computed,
      actual) are pushed onto the stack.  As long as each
      <em>FO</em> maintains a list of the properties which were
      assigned from it, the value can be popped when the focus of
      FO processing retreats back up the <em>FO</em> tree.
    </p>
    <p>
      The complication is that, for elements which are not
      automatically inherited, when an <em>FO</em> is encountered
      which does <strong>not</strong> assign a value to the
      property, the initial value must either be already at the
      top of the stack or be pushed onto the stack.
    </p>
    <p>
      As a first approach, the simplest procedure may be to push a
      current value onto the stack for every element - initial
      values for non-inherited properties and the parental value
      otherwise.  Then perform any processing of assigned values.
      This simplifies program logic at what is hopefully a small
      cost in memory and processing time.  It may be tuned in a
      later iteration.
    </p>
    <section>
      <title>Stack implementation</title>
      <p>
        Initial attempts at this implementation have used
        <code>LinkedList</code>s as the stacks, on the assumption
        that
      </p>
      <ul>
        <!-- one of (dl sl ul ol li) -->
        <li>random access would not be required</li>
        <li>
          pushing and popping of list elements requires nearly
          constant (low) time
        </li>
        <li> no penalty for first addition to an empty list</li>
        <li>efficient access to both bottom and top of stack</li>
      </ul>
      <p>
        However, it may be required to perform stack access
        operations from an arbitrary place on the stack, in which
        case it would probably be more efficient to use
        <code>ArrayList</code>s instead.
      </p>
    </section>
        </section>
        <section>
          <title>Class vs instance</title>
    <p>
      An individual stack would contain values for a particular
      property, and the context of the stack is the property class
      as a whole.  The property instances would be represented by
      the individual values on the stack.  If properties are to be
      represented as instantiations of the class, the stack
      entries would presumably be references to, or at least
      referenced from, individual property objects.  However, the
      most important information about individual property
      instances is the value assigned, and the relationship of
      this property object to its ancestors and its descendents.
      Other information would include the ownership of a property
      instance by a particular <em>FO</em>, and, in the other
      direction, the membership of the property in the set of
      properties for which an <em>FO</em> has defined values.
    </p>
    <p>
      In the presence of a stack, however, none of this required
      information mandates the instantiation of properties.  All
      of the information mentioned so far can be effectively
      represented by a stack position and a link to an
      <em>FO</em>.  If the property stack is maintained in
      parallel with a stack of <em>FOs</em>, even that link is
      implicit in the stack position.
    </p>
        </section>
        <p>
    <strong>Next:</strong> <link href="classes-overview.html"
    >property classes overview.</link>
        </p>
      </section>
      </body>
  </document>
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org