xml-general-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pbw...@apache.org
Subject cvs commit: xml-site/targets/fop/skin breadcrumbs.js
Date Mon, 17 Mar 2003 02:15:54 GMT
pbwest      2003/03/16 18:15:53

  Modified:    targets/fop pdf-security.html pdfencryption.html
                        pdfencryption.pdf
               targets/fop/design/alt.design FOPropertySets.html
                        xml-parsing.html
               targets/fop/design/alt.design/properties
                        AbstractPropertyValue.html FOAttributes.html
                        PropNames.html Property.html
                        PropertyConsts-class.html PropertyConsts.html
                        PropertyParser.html PropertySets.html
                        PropertyTokenizer.html PropertyValue.html
                        PropertyValueList.html ShorthandPropSets.html
                        classes-overview.html enumerated-values.html
                        getInitialValue.html introduction.html
                        propertyExpressions.html simple-properties.html
               targets/fop/dev output.html
               targets/fop/dev/svg images.pdf link.pdf paints.pdf text.pdf
                        transparency.pdf
               targets/fop/images EmbeddingExampleFO2PDF.png
                        EmbeddingExampleObj2PDF.png
                        EmbeddingExampleObj2XML.png
                        EmbeddingExampleXML2FO.png
                        EmbeddingExampleXML2PDF.png
               targets/fop/skin breadcrumbs.js
  Log:
  
  
  Revision  Changes    Path
  1.4       +1 -1      xml-site/targets/fop/pdf-security.html
  
  Index: pdf-security.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/pdf-security.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- pdf-security.html	7 Mar 2003 02:43:59 -0000	1.3
  +++ pdf-security.html	17 Mar 2003 02:15:47 -0000	1.4
  @@ -1 +1 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>pdf-security</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/pdf-security.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>pdf-security</pre></p><p><b>missing-file</b><pre>/usr/local/src/xml-fop-head/build/site/pdf-security.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  
  
  
  1.3       +9 -6      xml-site/targets/fop/pdfencryption.html
  
  Index: pdfencryption.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/pdfencryption.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- pdfencryption.html	11 Mar 2003 15:34:38 -0000	1.2
  +++ pdfencryption.html	17 Mar 2003 02:15:47 -0000	1.3
  @@ -312,6 +312,9 @@
             PDF</a></td>
   </tr>
   </table>
  +<p>
  +<font size="-2">by&nbsp;Patrick C. Lankswert</font>
  +</p>
   <ul class="minitoc">
   <li>
   <a href="#Overview">Overview</a>
  @@ -327,7 +330,7 @@
   </li>
   </ul>
       
  -<a name="N101BE"></a><a name="Overview"></a>
  +<a name="N101C5"></a><a name="Overview"></a>
   <h3>Overview</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  @@ -341,13 +344,13 @@
           limited.
         </p>
   <p>
  -        For further information about features and restrictions regarrding PDFF
  +        For further information about features and restrictions regarding PDF
           encryption, look at the documentation coming with Adobe Acrobat or the
  -        technial documentation on the Adobe web site.
  +        technical documentation on the Adobe web site.
         </p>
   </div>
       
  -<a name="N101CB"></a><a name="Usage"></a>
  +<a name="N101D2"></a><a name="Usage"></a>
   <h3>Usage</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  @@ -372,7 +375,7 @@
         </p>
   </div>
       
  -<a name="N101ED"></a><a name="Environment"></a>
  +<a name="N101F4"></a><a name="Environment"></a>
   <h3>Environment</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  @@ -400,7 +403,7 @@
         </p>
   </div>
       
  -<a name="N10213"></a><a name="Installing+a+crypto+provider"></a>
  +<a name="N1021A"></a><a name="Installing+a+crypto+provider"></a>
   <h3>Installing a crypto provider</h3>
   <div style="margin-left: 0 ; border: 2px">
   <p>
  
  
  
  1.2       +131 -144  xml-site/targets/fop/pdfencryption.pdf
  
  	<<Binary file>>
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/FOPropertySets.html
  
  Index: FOPropertySets.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/FOPropertySets.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.11      +352 -221  xml-site/targets/fop/design/alt.design/xml-parsing.html
  
  Index: xml-parsing.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/xml-parsing.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- xml-parsing.html	11 Mar 2003 15:34:43 -0000	1.10
  +++ xml-parsing.html	17 Mar 2003 02:15:47 -0000	1.11
  @@ -2,7 +2,7 @@
   <html>
   <head>
   <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  -<title>Integrating XML Parsing</title>
  +<title></title>
   <link type="text/css" href="../../skin/page.css" rel="stylesheet">
   </head>
   <body text="#000000" bgcolor="#FFFFFF">
  @@ -230,297 +230,428 @@
   <tr>
   <td align="left" width="10"><img width="10" height="1" alt="" src="../../skin/images/spacer.gif"></td><td align="left" width="100%">
   <div class="content">
  -<table class="title" summary="">
  -<tr>
  -<td valign="middle">
  -<h1>Integrating XML Parsing</h1>
  -</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="xml-parsing.pdf"><img alt="PDF" src="../../skin/images/pdfdoc.gif" border="0"><br>
  -          PDF</a></td>
  -</tr>
  -</table>
  +    
  +<script type="text/javascript" src="codedisplay.js"></script>
  +    
  +<div class="content">
  +      
  +<h1>Implementing Pull Parsing</h1>
  +      
   <p>
  -<font size="-2">by&nbsp;Peter B. West</font>
  +        
  +<font size="-2">by Peter B. West</font>
  +      
   </p>
  +      
   <ul class="minitoc">
  +        
   <li>
  -<a href="#An+alternative+parser+integration">An alternative parser integration</a>
  +          
  +<a href="#An+alternative+parsing+methodology">An alternative
  +            parsing methodology</a>
  +          
   <ul class="minitoc">
  +            
   <li>
  +              
   <a href="#Structure+of+SAX+parsing">Structure of SAX parsing</a>
  +            
   </li>
  +            
   <li>
  +              
   <a href="#Cluttered+callbacks">Cluttered callbacks</a>
  +            
   </li>
  +            
   <li>
  -<a href="#From+passive+to+active+parsing">From passive to active parsing</a>
  +              
  +<a href="#From+">From push to pull parsing</a>
  +            
   </li>
  +            
   <li>
  -<a href="#XMLEvent+methods">XMLEvent methods</a>
  +              
  +<a href="#FoXMLEvent+me%5Bthods">FoXMLEvent me[thods</a>
  +            
   </li>
  +            
   <li>
  +              
   <a href="#FOP+modularisation">FOP modularisation</a>
  +            
   </li>
  +          
   </ul>
  +        
   </li>
  +      
   </ul>
  -    
  -<a name="N101C5"></a><a name="An+alternative+parser+integration"></a>
  -<h3>An alternative parser integration</h3>
  +      
  +      
  +<a name="N101C5"></a><a name="An+alternative+parsing+methodology"></a>
  +      
  +<h3>An alternative parsing methodology</h3>
  +      
   <div style="margin-left: 0 ; border: 2px">
  +        
   <p>
  -        This note proposes an alternative method of integrating the
  -        output of the SAX parsing of the Flow Object (FO) tree into
  -        FOP processing.  The pupose of the proposed changes is to
  -        provide for better decomposition of the process of analysing
  -        and rendering an fo tree such as is represented in the output
  -        from initial (XSLT) processing of an XML source document.
  -      </p>
  -<a name="N101CE"></a><a name="Structure+of+SAX+parsing"></a>
  +          This note proposes an alternative method of integrating the
  +          output of the SAX parsing of the Flow Object (FO) tree into
  +          FOP processing.  The pupose of the proposed changes is to
  +          provide for:
  +        </p>
  +        
  +<ul>
  +          
  +          
  +<li>
  +            better decomposition of FOP into processing phases
  +          </li>
  +          
  +          
  +<li>
  +            top-down FO tree building, providing
  +          </li>
  +          
  +          
  +<li>
  +            integrated validation of FO tree input.
  +          </li>
  +          
  +        
  +</ul>
  +        
  +<a name="N101DA"></a><a name="Structure+of+SAX+parsing"></a>
  +        
   <h4>Structure of SAX parsing</h4>
  +        
   <div style="margin-left: 0 ; border: 2px">
  +          
   <p>
  -          Figure 1 is a schematic representation of the process of SAX
  -          parsing of an input source.  SAX parsing involves the 
  -          registration, with an object implementing the 
  -          <span class="codefrag">XMLReader</span> interface, of a
  -          <span class="codefrag">ContentHandler</span> which contains a callback
  -          routine for each of the event types encountered by the
  -          parser, e.g., <span class="codefrag">startDocument()</span>,
  -          <span class="codefrag">startElement()</span>, <span class="codefrag">characters()</span>,
  -          <span class="codefrag">endElement()</span> and <span class="codefrag">endDocument()</span>.
  -          Parsing is initiated by a call to the <span class="codefrag">parser()</span>
  -          method of the <span class="codefrag">XMLReader</span>.  Note that the call to
  -          <span class="codefrag">parser()</span> and the calls to individual callback
  -          methods are synchronous: <span class="codefrag">parser()</span> will only
  -          return when the last callback method returns, and each
  -          callback must complete before the next is called.<br>
  +            Figure 1 is a schematic representation of the process of
  +            SAX parsing of an input source.  SAX parsing involves the
  +            registration, with an object implementing the <span class="codefrag">XMLReader</span> interface, of a <span class="codefrag">ContentHandler</span> which contains a
  +            callback routine for each of the event types encountered
  +            by the parser, e.g., <span class="codefrag">startDocument()</span>, <span class="codefrag">startElement()</span>, <span class="codefrag">characters()</span>, <span class="codefrag">endElement()</span> and <span class="codefrag">endDocument()</span>.  Parsing is
  +            initiated by a call to the <span class="codefrag">parser()</span> method of the <span class="codefrag">XMLReader</span>.  Note that the call to
  +            <span class="codefrag">parser()</span> and the calls to
  +            individual callback methods are synchronous: <span class="codefrag">parser()</span> will only return when the
  +            last callback method returns, and each callback must
  +            complete before the next is called.<br> 
   <br>
  -          
  +            
  +            
   <strong>Figure 1</strong>
  -        
  +            
  +          
   </p>
  +          
   <div align="center">
  +            
   <img class="figure" alt="SAX parsing schematic" src="images/design/alt.design/SAXParsing.png"></div>
  +          
   <p>
  -          In the process of parsing, the hierarchical structure of the
  -          original FO tree is flattened into a number of streams of
  -          events of the same type which are reported in the sequence
  -          in which they are encountered.  Apart from that, the API
  -          imposes no structure or constraint which expresses the
  -          relationship between, e.g., a startElement event and the
  -          endElement event for the same element.  To the extent that
  -          such relationship information is required, it must be
  -          managed by the callback routines.
  -        </p>
  -<p>
  -          The most direct approach here is to build the tree
  -          "invisibly"; to bury within the callback routines the
  -          necessary code to construct the tree.  In the simplest case,
  -          the whole of the FO tree is built within the call to
  -          <span class="codefrag">parser()</span>, and that in-memory tree is subsequently
  -          processed to (a) validate the FO structure, and (b)
  -          construct the Area tree.  The problem with this approach is
  -          the potential size of the FO tree in memory.  FOP has
  -          suffered from this problem in the past.
  -        </p>
  +            In the process of parsing, the hierarchical structure of the
  +            original FO tree is flattened into a number of streams of
  +            events of the same type which are reported in the sequence
  +            in which they are encountered.  Apart from that, the API
  +            imposes no structure or constraint which expresses the
  +            relationship between, e.g., a startElement event and the
  +            endElement event for the same element.  To the extent that
  +            such relationship information is required, it must be
  +            managed by the callback routines.
  +          </p>
  +          
  +<p>
  +            The most direct approach here is to build the tree
  +            "invisibly"; to bury within the callback routines the
  +            necessary code to construct the tree.  In the simplest
  +            case, the whole of the FO tree is built within the call
  +            to <span class="codefrag">parser()</span>, and that
  +            in-memory tree is subsequently processed to (a) validate
  +            the FO structure, and (b) construct the Area tree.  The
  +            problem with this approach is the potential size of the
  +            FO tree in memory.  FOP has suffered from this problem
  +            in the past.
  +          </p>
  +        
   </div>
  -<a name="N1020C"></a><a name="Cluttered+callbacks"></a>
  +        
  +<a name="N10218"></a><a name="Cluttered+callbacks"></a>
  +        
   <h4>Cluttered callbacks</h4>
  +        
   <div style="margin-left: 0 ; border: 2px">
  +          
   <p>
  -          On the other hand, the callback code may become increasingly
  -          complex as tree validation and the triggering of the Area
  -          tree processing and subsequent rendering is moved into the
  -          callbacks, typically the <span class="codefrag">endElement()</span> method.
  -          In order to overcome acute memory problems, the FOP code was
  -          recently modified in this way, to trigger Area tree building
  -          and rendering in the <span class="codefrag">endElement()</span> method, when
  -          the end of a page-sequence was detected.
  -        </p>
  -<p>
  -          The drawback with such a method is that it becomes difficult
  -          to detemine the order of events and the circumstances in
  -          which any particular processing events are triggered.  When
  -          the processing events are inherently self-contained, this is
  -          irrelevant.  But the more complex and context-dependent the
  -          relationships are among the processing elements, the more
  -          obscurity is engendered in the code by such "side-effect"
  -          processing.
  -        </p>
  +            On the other hand, the callback code may become
  +            increasingly complex as tree validation and the triggering
  +            of the Area tree processing and subsequent rendering is
  +            moved into the callbacks, typically the <span class="codefrag">endElement()</span> method.  In order to
  +            overcome acute memory problems, the FOP code was recently
  +            modified in this way, to trigger Area tree building and
  +            rendering in the <span class="codefrag">endElement()</span> method, when the end
  +            of a page-sequence was detected.
  +          </p>
  +          
  +<p>
  +            The drawback with such a method is that it becomes difficult
  +            to detemine the order of events and the circumstances in
  +            which any particular processing events are triggered.  When
  +            the processing events are inherently self-contained, this is
  +            irrelevant.  But the more complex and context-dependent the
  +            relationships are among the processing elements, the more
  +            obscurity is engendered in the code by such "side-effect"
  +            processing.
  +          </p>
  +        
   </div>
  -<a name="N1021F"></a><a name="From+passive+to+active+parsing"></a>
  -<h4>From passive to active parsing</h4>
  +        
  +<a name="N1022B"></a><a name="From+"></a>
  +        
  +<h4>From push to pull parsing</h4>
  +        
   <div style="margin-left: 0 ; border: 2px">
  +          
   <p>
  -          In order to solve the simultaneous problems of exposing the
  -          structure of the processing and minimising in-memory
  -          requirements, the experimental code separates the parsing of
  -          the input source from the building of the FO tree and all
  -          downstream processing.  The callback routines become
  -          minimal, consisting of the creation and buffering of
  -          <span class="codefrag">XMLEvent</span> objects as a <em>producer</em>.  All
  -          of these objects are effectively merged into a single event
  -          stream, in strict event order, for subsequent access by the
  -          FO tree building process, acting as a
  -          <em>consumer</em>.  In itself, this does not reduce the
  -          footprint.  This occurs when the approach is generalised to
  -          modularise FOP processing.<br>
  -<br> 
  +            In order to solve the simultaneous problems of exposing
  +            the structure of the processing and minimising in-memory
  +            requirements, the experimental code separates the
  +            parsing of the input source from the building of the FO
  +            tree and all downstream processing.  The callback
  +            routines become minimal, consisting of the creation and
  +            buffering of <span class="codefrag">XMLEvent</span>
  +            objects as a <em>producer</em>.  All of these objects
  +            are effectively merged into a single event stream, in
  +            strict event order, for subsequent access by the FO tree
  +            building process, acting as a <em>consumer</em>.  This,
  +            essentially, is the difference between <em>push</em> and
  +            <em>pull</em> parsing.  In itself, this does not reduce
  +            the footprint.  This occurs when the approach is
  +            generalised to modularise FOP processing.<br> 
  +<br>
  +            
   <strong>Figure 2</strong>
  -        
  +            
  +          
   </p>
  +          
   <div align="center">
  -<img class="figure" alt="XML event buffer" src="images/design/alt.design/XML-event-buffer.png"></div>
  +            
  +<img class="figure" alt="XML event buffer" src="images/design/alt.design/pull-parsing.png"></div>
  +          
   <p>
  -          The most useful change that this brings about is the switch
  -          from <em>passive</em> to <em>active</em> XML element
  -          processing.  The process of parsing now becomes visible to
  -          the controlling process.  All local validation requirements,
  -          all object and data structure building, is initiated by the
  -          process(es) <em>get</em>ting from the queue - in the case
  -          above, the FO tree builder.
  -        </p>
  +            The most useful change that this brings about is the switch
  +            from <em>passive</em> to <em>active</em> XML element
  +            processing.  The process of parsing now becomes visible to
  +            the controlling process.  All local validation requirements,
  +            all object and data structure building, are initiated by the
  +            process(es) <em>get</em>ting from the queue - in the case
  +            above, the FO tree builder.
  +          </p>
  +        
   </div>
  -<a name="N10248"></a><a name="XMLEvent+methods"></a>
  -<h4>XMLEvent methods</h4>
  +        
  +<a name="N10260"></a><a name="FoXMLEvent+methods"></a>
  +        
  +<h4>FoXMLEvent methods</h4>
  +        
   <div style="margin-left: 0 ; border: 2px">
  -<a name="XMLEvent-methods"></a>
  -<p>
  -          The experimental code uses a class <strong>XMLEvent</strong>
  -          to provide the objects which are placed in the queue.
  -          <em>XMLEvent</em> includes a variety of methods to access
  -          elements in the queue.  Namespace URIs encountered in
  -          parsing are maintined in a <span class="codefrag">static</span>
  -          <span class="codefrag">HashMap</span> where they are associated with a unique
  -          integer index.  This integer value is used in the signature
  -          of some of the access methods.
  -        </p>
  -<dl>
             
  -<dt>XMLEvent getEvent(SyncedCircularBuffer events)</dt>
  -          
  -<dd>
  -            This is the basis of all of the queue access methods.  It
  -            returns the next element from the queue, which may be a
  -            pushback element.
  -          </dd>
  +<a name="FoXMLEvent-methods"></a>
             
  -<dt>XMLEvent getEndDocument(events)</dt>
  +<p>
  +            The experimental code uses a class <span id="span00"></span><span class="codefrag"><a href="javascript:toggleCode( 'span00',             'FoXMLEvent.html#FoXMLEventClass', '400', '100%'             )">FoXMLEvent</a></span> to provide the objects which are
  +            placed in the queue.  <em>FoXMLEvent</em> includes a
  +            variety of methods to access elements in the queue.
  +            Namespace URIs encountered in parsing are maintained in an
  +            <span id="span01"></span><span class="codefrag"><a href="javascript:toggleCode( 'span01',             'XMLNamespaces.html#XMLNamespacesClass', '400', '100%'             )">XMLNamespaces</a></span> object where they are
  +            associated with a unique integer index.  This integer
  +            value is used in the signature of some of the access
  +            methods.
  +          </p>
             
  -<dd>
  -            
  -<em>get</em>  and discard elements from the queue
  -            until an ENDDOCUMENT element is found and returned.
  -          </dd>
  +<p>
  +            The class which manages the buffer is <span id="span02"></span><span class="codefrag"><a href="javascript:toggleCode( 'span02',             'SyncedFoXmlEventsBuffer.html#SyncedFoXmlEventsBufferClass',             '400', '100%' )">SyncedFoXmlEventsBuffer</a>.</span>
             
  -<dt> XMLEvent expectEndDocument(events)</dt>
  +</p>
             
  +<dl>
  +            
  +            
  +<dt>
  +              
  +<span id="span03"></span><a href="javascript:toggleCode(               'span03', 'SyncedFoXmlEventsBuffer.html#getEvent',               '400', '100%' )">FoXMLEvent
  +              getEvent(SyncedCircularBuffer events)</a>
  +            
  +</dt>
  +            
  +            
   <dd>
  -            If the next element on the queue is an ENDDOCUMENT event,
  -            return it.  Otherwise, push the element back and throw an
  -            exception.  Each of the <em>get</em>  methods (except
  -            <em>getEvent()</em>  itself) has a corresponding
  -            <em>expect</em>  method.
  -          </dd>
  -          
  -<dt>XMLEvent get/expectStartElement(events)</dt>
  -          
  -<dd> Return the next STARTELEMENT event from the queue.</dd>
  -          
  -<dt>XMLEvent get/expectStartElement(events, String
  -            qName)</dt>
  -          
  +              This is the basis of all of the queue access methods.  It
  +              returns the next element from the queue, which may be a
  +              pushback element.
  +            </dd>
  +            
  +            
  +<dt>
  +              
  +<span id="span04"></span><a href="javascript:toggleCode(               'span04', 'SyncedFoXmlEventsBuffer.html#getTypedEvent',               '400', '100%' )">FoXMLEvent getTypedEvent()</a>
  +            
  +</dt>
  +            
  +            
   <dd>
  -            Return the next STARTELEMENT with a QName matching
  -            <em>qName</em>.
  -          </dd>
  -          
  +              A series of these methods provide for the recovery only
  +              of events of a particular event type, and possibly other
  +              specific characteristics.  <em>Get</em> methods discard
  +              input which does not meet the requirements.  E.g.
  +              <dl>
  +                
   <dt>
  -            XMLEvent get/expectStartElement(events, int uriIndex,
  -            String localName)
  -          </dt>
  -          
  +                  
  +<span id="span040"></span><a href="javascript:toggleCode( 'span040',                   'SyncedFoXmlEventsBuffer.html#getEndDocument',                   '400', '100%' )">FoXMLEvent getEndDocument()</a>
  +                
  +</dt>
  +                
   <dd>
  -            Return the next STARTELEMENT with a URI indicated by the
  -            <em>uriIndex</em> and a local name matching <em>localName</em>.
  -          </dd>
  -          
  +                  Discard input until and EndDocument event occurs.
  +                  Return this event.
  +                </dd>
  +                
   <dt>
  -            XMLEvent get/expectStartElement(events, LinkedList list)
  -          </dt>
  -          
  +                  
  +<span id="span041"></span><a href="javascript:toggleCode( 'span041',                   'SyncedFoXmlEventsBuffer.html#getStartElement',                   '400', '100%' )">FoXMLEvent getStartElement()</a>
  +                
  +</dt>
  +                
   <dd>
  +                  A series of <span class="codefrag">getStartElement</span> methods provide for
  +                  discarding input until a StartElement event of the
  +                  appropriate type occurs.  This event is returned.
  +                  This series of methods includes some which accept a
  +                  list of Element specifiers.
  +                </dd>
  +              
  +</dl>
  +            
  +</dd>
  +            
  +            
  +<dt>
  +              
  +<span id="span05"></span><a href="javascript:toggleCode(               'span05',               'SyncedFoXmlEventsBuffer.html#expectTypedEvent', '400',               '100%' )">FoXMLEvent expectTypedEvent()</a>
  +            
  +</dt>
  +            
               
  -<em>list</em>  contains instances of the nested class
  -            <span class="codefrag">UriLocalName</span>, which hold a
  -            <em>uriIndex</em>  and a <em>localName</em>.  Return
  -            the next STARTELEMENT with a URI indicated by the
  -            <em>uriIndex</em>  and a local name matching
  -            <em>localName</em>  from any element of
  -            <em>list</em>.
  -          </dd>
  -          
  -<dt>XMLEvent get/expectEndElement(events)</dt>
  -          
  -<dd>Return the next ENDELEMENT.</dd>
  -          
  -<dt>XMLEvent get/expectEndElement(events, qName)</dt>
  -          
  -<dd>Return the next ENDELEMENT with QName
  -            <em>qname</em>.</dd>
  -          
  -<dt>XMLEvent get/expectEndElement(events, uriIndex, localName)</dt>
  -          
   <dd>
  -            Return the next ENDELEMENT with a URI indicated by the
  -            <em>uriIndex</em>  and a local name matching
  -            <em>localName</em>.
  -          </dd>
  -          
  +              A series of these methods provide for the recovery only
  +              of events of a particular event type, and possibly other
  +              specific characteristics.  <em>Expect</em> methods throw
  +              an exception on input which does not meet the
  +              requirements.  <em>Expect</em> methods generally take a
  +              <span class="codefrag">boolean</span> argument
  +              specifying whitespace treatment.  Examples include:
  +              <dl>
  +                
   <dt>
  -            XMLEvent get/expectEndElement(events, XMLEvent event)
  -          </dt>
  -          
  +                  
  +<span id="span050"></span><a href="javascript:toggleCode( 'span050',                   'SyncedFoXmlEventsBuffer.html#expectEndDocument',                   '400', '100%' )">FoXMLEvent expectEndDocument()</a>
  +                
  +</dt>
  +                
   <dd>
  -            Return the next ENDELEMENT with a URI matching the
  -            <em>uriIndex</em>  and <em>localName</em>
  -            matching those in the <em>event</em>  argument.  This
  -            is intended as a quick way to find the ENDELEMENT matching
  -            a previously returned STARTELEMENT.
  -          </dd>
  -          
  -<dt>XMLEvent get/expectCharacters(events)</dt>
  +                  Expect an EndDocument event. Return this event.
  +                </dd>
  +                
  +<dt>
  +                  
  +<span id="span051"></span><a href="javascript:toggleCode( 'span051',                   'SyncedFoXmlEventsBuffer.html#expectStartElement',                   '400', '100%' )">FoXMLEvent expectStartElement()</a>
  +                
  +</dt>
  +                
  +<dd>
  +                  A series of <span class="codefrag">expectStartElement</span> methods provide for
  +                  examinging the pending input for a StartElement
  +                  event of the appropriate type.  This event is
  +                  returned.  This series of methods includes some
  +                  which accept a list of Element specifiers.
  +                </dd>
  +              
  +</dl>
  +            
  +</dd>
             
  -<dd>Return the next CHARACTERS event.</dd>
  -        
   </dl>
  +        
   </div>
  -<a name="N102E8"></a><a name="FOP+modularisation"></a>
  +        
  +<a name="N102FE"></a><a name="FOP+modularisation"></a>
  +        
   <h4>FOP modularisation</h4>
  +        
   <div style="margin-left: 0 ; border: 2px">
  +          
   <p>
  -          This same principle can be extended to the other major
  -          sub-systems of FOP processing.  In each case, while it is
  -          possible to hold a complete intermediate result in memory,
  -          the memory costs of that approach are too high.  The
  -          sub-systems - xml parsing, FO tree construction, Area tree
  -          construction and rendering - must run in parallel if the
  -          footprint is to be kept manageable.  By creating a series of
  -          producer-consumer pairs linked by synchronized buffers,
  -          logical isolation can be achieved while rates of processing
  -          remain coupled.  By introducing feedback loops conveying
  -          information about the completion of processing of the
  -          elements, sub-systems can dispose of or precis those
  -          elements without having to be tightly coupled to downstream
  -          processes.<br>
  +            This same principle can be extended to the other major
  +            sub-systems of FOP processing.  In each case, while it is
  +            possible to hold a complete intermediate result in memory,
  +            the memory costs of that approach are too high.  The
  +            sub-systems - xml parsing, FO tree construction, Area tree
  +            construction and rendering - must run in parallel if the
  +            footprint is to be kept manageable.  By creating a series of
  +            producer-consumer pairs linked by synchronized buffers,
  +            logical isolation can be achieved while rates of processing
  +            remain coupled.  By introducing feedback loops conveying
  +            information about the completion of processing of the
  +            elements, sub-systems can dispose of or precis those
  +            elements without having to be tightly coupled to downstream
  +            processes.
  +            <br>
  +            
   <br>
  -          
  +            
  +            
   <strong>Figure 3</strong>
  -        
  +            
  +          
   </p>
  +          
   <div align="center">
  -<img class="figure" alt="FOP modularisation" src="images/design/alt.design/processPlumbing.png"></div>
  +            
  +<img class="figure" alt="FOP modularisation" src="images/design/alt.design/processPlumbing.png">
  +          </div>
  +
  +          
  +<p>
  +            In the case of communication between the FO tree
  +            building process and the layout process, feedback is
  +            required in order to parse expressions containing
  +            lengths expressed as a percentage of some enclosing
  +            area.  This communication is incorporated within the
  +            general model of inter-phase communication discussed above.
  +            <br>
  +<br>
  +            
  +<strong>Figure 4</strong>
  +
  +          
  +</p>
  +          
  +<div align="center">
  +            
  +<img class="figure" alt="FO - layout interaction" src="images/design/alt.design/fo-layout-interaction.png">
  +          </div>
  +
  +
  +        
   </div>
  +      
  +</div>
  +      
  +    
   </div>
     
   </div>
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/AbstractPropertyValue.html
  
  Index: AbstractPropertyValue.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/AbstractPropertyValue.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/FOAttributes.html
  
  Index: FOAttributes.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/FOAttributes.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropNames.html
  
  Index: PropNames.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropNames.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/Property.html
  
  Index: Property.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/Property.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.4       +314 -1    xml-site/targets/fop/design/alt.design/properties/PropertyConsts-class.html
  
  Index: PropertyConsts-class.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertyConsts-class.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PropertyConsts-class.html	7 Mar 2003 02:44:06 -0000	1.3
  +++ PropertyConsts-class.html	17 Mar 2003 02:15:48 -0000	1.4
  @@ -1 +1,314 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/PropertyConsts-class.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/PropertyConsts-class.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title></title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<a href="introduction.html">Introduction</a>
  +</li>
  +    
  +<li>
  +<a href="classes-overview.html">Classes overview</a>
  +</li>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">PropertyConsts</font></span>
  +</li>
  +    
  +<li>
  +<a href="simple-properties.html">Simple Properties</a>
  +</li>
  +    
  +<li>
  +<a href="getInitialValue.html">getInitialValue</a>
  +</li>
  +    
  +<li>
  +<a href="enumerated-values.html">Enumerated data</a>
  +</li>
  +    
  +<li>
  +<a href="propertyExpressions.html">Property parsing</a>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +    
  +<div class="content">
  +      
  +<h1>PropertyConsts Description</h1>
  +      
  +<p>
  +        
  +<font size="-2">by Peter B. West</font>
  +      
  +</p>
  +      
  +<ul class="minitoc">
  +        
  +<li>
  +          
  +<a href="#N10014">Introduction</a>
  +        
  +</li>
  +      
  +</ul>
  +      
  +      
  +<a name="N10014"></a>
  +      
  +<h3>Introduction</h3>
  +      
  +<p>
  +        
  +        
  +<span id="span00"></span><a href="javascript:toggleCode(         'span00', 'PropertyConsts.html#PropertyConstsClass', '400',         '100%' )">This class</a>, and the singleton object which is
  +        <span id="span01"></span><a href="javascript:toggleCode(         'span01', 'PropertyConsts.html#pconsts', '400', '100%'         )">generated by the static initializer</a>, is essentially a
  +        repository of &lt;property&gt; class instances and the static
  +        data from those classes of <span class="codefrag">org.apache.fop.fo.property</span>.  The heart
  +        of this class is the method <span id="span03"></span><a href="javascript:toggleCode( 'span03',         'PropertyConsts.html#setupProperty', '400', '100%' )"><span class="codefrag">setupProperty</span></a>.  Whenever access
  +        to the data or methods of a property class is required, this
  +        method in the singleton must be called to ensure that an
  +        instance of the property exists and that the static data from
  +        that instance has been extracted.
  +      </p>
  +
  +      
  +<div class="frame note">
  +        
  +<div class="label">Note</div>
  +        
  +<div class="content">
  +          An alternative to this requirement would be to pre-load all
  +          of the individual property classes during the system
  +          initialization phase.  This is not done currently because of
  +          the start-up expense of the required class loading for over
  +          three hundred classes, and the relatively low added expense
  +          of checking for the existence of a property instance before
  +          every access.  Given that FOP is increasingly used in a
  +          server environment, it may prove acceptable in the long run
  +          to change to pre-loading.
  +        </div>
  +      
  +</div>
  +
  +      
  +<p>
  +        The class name is generated and stored in the <span id="span04"></span><a href="javascript:toggleCode( 'span04',         'PropertyConsts.html#classNames', '400', '100%' )"><span class="codefrag">classNames</span></a> array; a class
  +        instance is generated from the name and stored in the <span id="span05"></span><a href="javascript:toggleCode( 'span05',         'PropertyConsts.html#classes', '400', '100%' )"><span class="codefrag">classes</span></a> array; and an instance
  +        of the class is generated from the class object and stored in
  +        the <span id="span06"></span><a href="javascript:toggleCode( 'span06',         'PropertyConsts.html#properties', '400', '100%' )"><span class="codefrag">properties</span></a> array.
  +      </p>
  +
  +      
  +<p>
  +        The other data gathering facilities and access methods of this
  +        class will be examined in conjunction with the various types
  +        of property classes.
  +      </p>
  +
  +      
  +<p>
  +        
  +<strong>Previous:</strong> <a href="classes-overview.html">Property classes overview</a>
  +      
  +</p>
  +      
  +<p>
  +        
  +<strong>Next:</strong> <a href="simple-properties.html">Simple property classes</a>
  +      
  +</p>
  +    
  +</div>
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropertyConsts.html
  
  Index: PropertyConsts.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertyConsts.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropertyParser.html
  
  Index: PropertyParser.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertyParser.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropertySets.html
  
  Index: PropertySets.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertySets.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropertyTokenizer.html
  
  Index: PropertyTokenizer.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertyTokenizer.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropertyValue.html
  
  Index: PropertyValue.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertyValue.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/PropertyValueList.html
  
  Index: PropertyValueList.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/PropertyValueList.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.10      +0 -0      xml-site/targets/fop/design/alt.design/properties/ShorthandPropSets.html
  
  Index: ShorthandPropSets.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/ShorthandPropSets.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.4       +655 -1    xml-site/targets/fop/design/alt.design/properties/classes-overview.html
  
  Index: classes-overview.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/classes-overview.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- classes-overview.html	7 Mar 2003 02:44:06 -0000	1.3
  +++ classes-overview.html	17 Mar 2003 02:15:49 -0000	1.4
  @@ -1 +1,655 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/classes-overview.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/classes-overview.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title></title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<a href="introduction.html">Introduction</a>
  +</li>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">Classes overview</font></span>
  +</li>
  +    
  +<li>
  +<a href="PropertyConsts-class.html">PropertyConsts</a>
  +</li>
  +    
  +<li>
  +<a href="simple-properties.html">Simple Properties</a>
  +</li>
  +    
  +<li>
  +<a href="getInitialValue.html">getInitialValue</a>
  +</li>
  +    
  +<li>
  +<a href="enumerated-values.html">Enumerated data</a>
  +</li>
  +    
  +<li>
  +<a href="propertyExpressions.html">Property parsing</a>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +    
  +<script type="text/javascript" src="codedisplay.js"></script>
  +    
  +<div class="content">
  +      
  +<h1>Property classes overview</h1>
  +      
  +<p>
  +        
  +<font size="-2">by Peter B. West</font>
  +      
  +</p>
  +      
  +<ul class="minitoc">
  +        
  +<li>
  +          
  +<a href="#N10014">Properties: packages</a>
  +          
  +<ul class="minitoc">
  +            
  +<li>
  +              
  +<a href="#N10019">org.apache.fop.fo</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N100AC">org.apache.fop.fo.properties</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N100EE">org.apache.fop.fo.expr</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N10134">org.apache.fop.datatypes</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N101A2">org.apache.fop.datatypes.indirect</a>
  +            
  +</li>
  +          
  +</ul>
  +        
  +</li>
  +      
  +</ul>
  +      
  +<a name="N10014"></a> 
  +<h3>Properties: packages</h3>
  +      
  +<a name="N10019"></a> 
  +<h4>org.apache.fop.fo</h4>
  +      
  +      
  +<dl>
  +        
  +<dt>
  +          
  +<span id="span00"></span>
  +          <a href="javascript:toggleCode('span00',              'PropNames.html#PropNamesClass', '400', '100%'           )"><em>PropNames</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This class maintains an array of <span id="span01"></span><a href="javascript:toggleCode( 'span01',           'PropNames.html#propertyNames', '400', '100%' )">property
  +          names</a>, synchronized to a complete set of property name
  +          <span id="span02"></span><a href="javascript:toggleCode(           'span02', 'PropNames.html#NO_PROPERTY', '400', '100%' )">constants</a> for indexing property-based arrays.  It
  +          includes methods to <span id="span03"></span><a href="javascript:toggleCode( 'span03',           'PropNames.html#getPropertyName', '400', '100%' )">convert
  +          an index to a name</a> and to <span id="span04"></span><a href="javascript:toggleCode( 'span04',           'PropNames.html#getPropertyIndex', '400', '100%' )">convert
  +          a property name to an index</a>.
  +        </dd>
  +        
  +<dt>
  +          
  +<a href="PropertyConsts-class.html"><em>PropertyConsts</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          A singleton instance of <span class="codefrag">PropertyConsts</span> is created by the static initializer
  +          of the <span id="span05"></span><a href="javascript:toggleCode( 'span05',           'PropertyConsts.html#pconsts', '400', '100%' )">pconsts</a>
  +          field.  Working from the property indices defined in
  +          PropNames, the methods in this class collect and supply the
  +          values of fields defined in property objects into
  +          arrays.<br> The heart of this class in the method <span id="span06"></span><a href="javascript:toggleCode(           'span06', 'PropertyConsts.html#setupProperty', '400', '100%'           )">setupProperty</a>, which constructs the property name
  +          from the index, instantiates a singleton of the appropriate
  +          class, and extracts static fields by reflection from that
  +          instance into the arrays of field values.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span07"></span><a href="javascript:toggleCode(           'span07', 'PropertySets.html#PropertySetsClass', '400',           '100%' )"><em>PropertySets</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This class provides a number of <span class="codefrag">ROBitSet</span>s representing many of the sets of
  +          properties defined in <em>Section 7</em> of the
  +          specification.  Note that the <span id="span08"></span><a href="javascript:toggleCode( 'span08',           'PropertySets.html#borderProps', '400', '100%' )"><em>Border</em></a>, <span id="span09"></span><a href="javascript:toggleCode( 'span09',           'PropertySets.html#paddingProps', '400', '100%' )"><em>Padding</em></a> and <span id="span10"></span><a href="javascript:toggleCode( 'span10',           'PropertySets.html#backgroundProps', '400', '100%'           )"><em>Background</em></a> sets are defined separately.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span11"></span><a href="javascript:toggleCode(           'span11', '../FOPropertySets.html#FOPropertySetsClass',           '400', '100%' )"><em>FOPropertySets</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This class provides a number of <span class="codefrag">ROBitSet</span>s representing sets of properties which are
  +          applicable in particular subtrees of the FO tree.  These
  +          sets are provided so that other properties can be ignored
  +          during processing of the subtrees.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span12"></span><a href="javascript:toggleCode(           'span12', 'ShorthandPropSets.html#ShorthandPropSetsClass',           '400', '100%' )"><em>ShorthandPropSets</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This class contains arrays of <span id="span13"></span><a href="javascript:toggleCode( 'span13',           'ShorthandPropSets.html#shorthands', '400', '100%' )">shorthand property indices</a> and <span id="span14"></span><a href="javascript:toggleCode( 'span14',           'ShorthandPropSets.html#compounds', '400', '100%' )">compound property indices</a>, and <span class="codefrag">ROBitSet</span>s representing the expansion sets of these
  +          shorthands and compounds.  Various methods useful in the
  +          expansion of these properties are also included.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span15"></span><a href="javascript:toggleCode(           'span15', 'FOAttributes.html#FOAttributesClass', '400',           '100%' )"><em>FOAttributes</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This class manages the attribute set that is associated with
  +          a SAX <span class="codefrag">startElement</span> event.
  +          <em>fo:</em> namespace attributes are entered into a <span id="span16"></span><a href="javascript:toggleCode(           'span16', 'FOAttributes.html#foAttrMap', '400', '100%' )"><span class="codefrag">HashMap</span></a>, indexed by the
  +          <em>fo:</em> property index.  As other namespaces are
  +          encountered, the values are entered into namespace-specific
  +          <span id="span17"></span><a href="javascript:toggleCode(           'span17', 'FOAttributes.html#nSpaceAttrMaps', '400', '100%'           )"><span class="codefrag">HashMap</span>s</a>, indexed by
  +          the <em>local name</em> of the attribute.
  +        </dd>
  +      
  +</dl>
  +      
  +<a name="N100AC"></a><a name="property-classes"></a>
  +      
  +<h4>org.apache.fop.fo.properties</h4>
  +      
  +<dl>
  +        
  +<dt>
  +          
  +<span id="span18"></span><a href="javascript:toggleCode(           'span18', 'Property.html#PropertyClass', '400', '100%' )"><em>Property</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          The base class for all individual property classes.
  +          There are 320 properties in all.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>ColumnNumber</em>
  +        
  +</dt>
  +        
  +<dd>
  +          The actual property class with the lowest index
  +          number, followed in the index order by properties required
  +          for further processing, e.g. FontSize.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>....</em>
  +        
  +</dt>
  +        
  +<dd>....</dd>
  +        
  +<dt>
  +          
  +<em>Background</em>
  +        
  +</dt>
  +        
  +<dd>
  +          First in index order of the remainining shorthand
  +          properties, followed in index order by all other remaining
  +          shorthands.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>....</em>
  +        
  +</dt>
  +        
  +<dd>....</dd>
  +        
  +<dt>
  +          
  +<em>AbsolutePosition</em>
  +        
  +</dt>
  +        
  +<dd>
  +          First in index order of the remaining properties.  Within
  +          this ordering, compound properties precede their expansion
  +          properties, and corresponding relative properties precede
  +          corresponding absolute properties.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>....</em>
  +        
  +</dt>
  +        
  +<dd>....</dd>
  +        
  +<dt>
  +          
  +<em>ZIndex</em>
  +        
  +</dt>
  +        
  +<dd>
  +          The property class with the highest index
  +          number.
  +        </dd>
  +      
  +</dl>
  +      
  +<a name="N100EE"></a>
  +      
  +<h4>org.apache.fop.fo.expr</h4>
  +      
  +<dl>
  +        
  +<dt>
  +          
  +<span id="span19"></span><a href="javascript:toggleCode(           'span19', 'PropertyTokenizer.html#PropertyTokenizerClass',           '400', '100%' )"><em>PropertyTokenizer</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          The tokenizer for the property expression parser.  Defines a
  +          set of <span id="span20"></span><a href="javascript:toggleCode( 'span20',           'PropertyTokenizer.html#EOF', '400', '100%' )">token
  +          constants</a> and returns these with associated token
  +          values.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span21"></span><a href="javascript:toggleCode(           'span21', 'PropertyParser.html#PropertyParserClass', '400',           '100%' )"><em>PropertyParser</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This extends <span class="codefrag">PropertyTokenizer</span>.  It parses property
  +          expressions on the basis of the tokens passed to it by its
  +          superclass, generating <span class="codefrag">PropertyValue</span>s, including <span class="codefrag">PropertyValueList</span>s.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>PropertyException</em>
  +        
  +</dt>
  +        
  +<dd>
  +          The basic class for all property-related exceptions.
  +          It extends <span class="codefrag">FOPException</span>. It
  +          is housed in this package by historical accident.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>DataTypeNotImplementedException</em>
  +          
  +<br>
  +          
  +<em>FunctionNotImplementedException</em>
  +          
  +<br>
  +          
  +<em>PropertyNotImplementedException</em>
  +        
  +</dt>
  +        
  +<dd>
  +          A set of particular exceptions extending <span class="codefrag">PropertyException</span>.  Also in this package
  +          by accident.
  +        </dd>
  +      
  +</dl>
  +      
  +<a name="N10134"></a>
  +      
  +<h4>org.apache.fop.datatypes</h4>
  +      
  +<dl>
  +        
  +<dt>
  +          
  +<span id="span22"></span><a href="javascript:toggleCode(           'span22', 'PropertyValue.html#PropertyValueInterface',           '400', '100%' )"><em>PropertyValue</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          An <em>interface</em> which all <span class="codefrag">PropertyValue</span> classes must implement.  In addition
  +          to a few methods, <span class="codefrag">PropertyValue</span> defines the set of <span id="span23"></span><a href="javascript:toggleCode( 'span23',           'PropertyValue.html#NO_TYPE', '400', '100%' )">constants</a> which the <span class="codefrag">getType()</span> method may return; i.e. the valid set of
  +          <span class="codefrag">PropertyValue</span> types.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span24"></span><a href="javascript:toggleCode(           'span24',           'AbstractPropertyValue.html#AbstractPropertyValueClass',           '400', '100%' )"><em>AbstractPropertyValue</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          An abstract implementation of the <span class="codefrag">PropertyValue</span> interface.  Most actual property value
  +          classes extend <span class="codefrag">AbstractPropertyValue</span>.
  +        </dd>
  +        
  +<dt>
  +          
  +<span id="span25"></span><a href="javascript:toggleCode(           'span25', 'PropertyValueList.html#PropertyValueListClass',           '400', '100%' )"><em>PropertyValueList</em></a>
  +        
  +</dt>
  +        
  +<dd>
  +          This class extends <span class="codefrag">LinkedList</span> and implements <span class="codefrag">PropertyValue</span>.  It is used whenever the process of
  +          resolving a property expression yields a list of <span class="codefrag">PropertyValue</span> elements; notably
  +          during the processing of shorthands and "compound"
  +          properties.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>StringType</em>
  +        
  +</dt>
  +        
  +<dd>
  +          A basic type extending <span class="codefrag">AbstractPropertyValue</span>.  Extended by <span class="codefrag">NCName</span>.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>NCName</em>
  +        
  +</dt>
  +        
  +<dd>
  +          Extends <span class="codefrag">StringType</span> to represent
  +          NCName strings.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>EnumType</em>
  +        
  +</dt>
  +        
  +<dd>
  +          Extends <span class="codefrag">AbstractPropertyValue</span> to represented enumerated
  +          types.
  +        </dd>
  +        
  +<dt>
  +          
  +<em>Other types</em>
  +        
  +</dt>
  +        
  +<dd>
  +          All other types extend one of the above classes.
  +        </dd>
  +      
  +</dl>
  +      
  +<a name="N101A2"></a>
  +      
  +<h4>org.apache.fop.datatypes.indirect</h4>
  +      
  +<dl>
  +        
  +<dt>
  +          
  +<em>IndirectValue</em>
  +        
  +</dt>
  +        
  +<dd>
  +          The base type for all indirect value types; extends
  +          <span class="codefrag">AbstractPropertyValue</span>.
  +        </dd>
  +      
  +</dl>
  +      
  +<p>
  +        
  +<strong>Previous:</strong> <a href="introduction.html">Introduction</a>
  +      
  +</p>
  +      
  +<p>
  +        
  +<strong>Next:</strong> <a href="PropertyConsts-class.html">The PropertyConsts class</a>
  +      
  +</p>
  +    
  +</div>
  +    
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.4       +458 -1    xml-site/targets/fop/design/alt.design/properties/enumerated-values.html
  
  Index: enumerated-values.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/enumerated-values.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- enumerated-values.html	7 Mar 2003 02:44:06 -0000	1.3
  +++ enumerated-values.html	17 Mar 2003 02:15:49 -0000	1.4
  @@ -1 +1,458 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/enumerated-values.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/enumerated-values.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title></title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<a href="introduction.html">Introduction</a>
  +</li>
  +    
  +<li>
  +<a href="classes-overview.html">Classes overview</a>
  +</li>
  +    
  +<li>
  +<a href="PropertyConsts-class.html">PropertyConsts</a>
  +</li>
  +    
  +<li>
  +<a href="simple-properties.html">Simple Properties</a>
  +</li>
  +    
  +<li>
  +<a href="getInitialValue.html">getInitialValue</a>
  +</li>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">Enumerated data</font></span>
  +</li>
  +    
  +<li>
  +<a href="propertyExpressions.html">Property parsing</a>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +    
  +<script type="text/javascript" src="codedisplay.js"></script>
  +    
  +<div class="content">
  +      
  +<h1>Enumerated Data Values</h1>
  +      
  +<ul class="minitoc">
  +        
  +<li>
  +          
  +<a href="#N1000C">Enumerated Data Values</a>
  +          
  +<ul class="minitoc">
  +            
  +<li>
  +              
  +<a href="#N10020">Array representation</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N1005C">HashMap representation</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N1009D">
  +                Factoring Out Common Enumeration Values
  +              </a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N100DD">Mapped Numeric Values</a>
  +            
  +</li>
  +          
  +</ul>
  +        
  +</li>
  +      
  +</ul>
  +      
  +      
  +<a name="N1000C"></a>
  +      
  +<h3>Enumerated Data Values</h3>
  +      
  +<p>
  +        Property classes which allow enumerated data types must encode
  +        integer constants representing the enumeration tokens, and
  +        must provide a way of translating between the tokens and the
  +        integers, and <em>vice versa</em>.  Depending on the number of
  +        tokens in an enumeration set, the mapping from token to
  +        integer is maintained in an array or a <span class="codefrag">HashMap</span>.  The switch-over point from
  +        array to <span class="codefrag">HashMap</span> was determined
  +        by some highly implementation-dependent testing to be in the
  +        region of four to five elements.
  +      </p>
  +      
  +<p>
  +        Many properties share common sets of enumeration tokens,
  +        e.g. those which allow color values, and those applying to
  +        borders and padding.  A special case of enumerated value is
  +        the mapped numeric enumeration, in which a token maps to a
  +        Numeric value.  These situations are discussed below.
  +      </p>
  +      
  +<a name="N10020"></a>
  +      
  +<h4>Array representation</h4>
  +      
  +      
  +<p>
  +        
  +        
  +<span id="span00"></span><a href="javascript:toggleCode(         'span00', 'Direction.html#DirectionClass', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.properties.Direction</span></a>
  +        is an example of a class which supports an enumerated value
  +        with a small set of tokens.  The <span id="span01"></span><a href="javascript:toggleCode( 'span01',         'Direction.html#dataTypes', '400', '100%' )"><span class="codefrag">dataTypes</span></a> field contains the <span id="span02"></span><a href="javascript:toggleCode(         'span02', 'Property.html#NOTYPE', '400', '100%' )"><span class="codefrag">ENUM</span> data type constant, defined in
  +        <span class="codefrag">Property</span></a>.  The enumeration
  +        integer constants are defined as <span class="codefrag">public
  +        static final int</span> values, <span id="span03"></span><a href="javascript:toggleCode( 'span03',         'Direction.html#LTR', '400', '100%') "><span class="codefrag'         )">LTR</span> and <span class="codefrag">RTL</span></a>.
  +        Associating enumeration tokens with these integer constants
  +        occurs in the array <a href="javascript:window.top.displayCode( 'Direction.html#rwEnums'         )"><span class="codefrag">String[] rwEnums</span></a>, which
  +        is initialized with the token strings.  By convention, zero is
  +        never used to represent a valid enumeration constant, anywhere
  +        in this code.  It is, of course, critical that synchronization
  +        between <span class="codefrag">rwEnums</span> and the
  +        enumeration constants be maintained.
  +      </p>
  +      
  +<p>
  +        The publicly accessible mapping from enumeration token to
  +        enumeration constant is achieved through the method <span id="span04"></span><a href="javascript:toggleCode( 'span04',         'Direction.html#getEnumIndex', '400', '100%' )"><span class="codefrag">int getEnumIndex(String)</span></a>.  The
  +        corresponding mapping from enumeration constant to enumeration
  +        token is achieved through the method <span id="span05"></span><a href="javascript:toggleCode( 'span05',         'Direction.html#getEnumText', '400', '100%' )"><span class="codefrag">String getEnumText(int)</span></a>.
  +      </p>
  +      
  +<a name="N1005C"></a>
  +      
  +<h4>HashMap representation</h4>
  +      
  +<p>
  +        
  +        
  +<span id="span06"></span><a href="javascript:toggleCode(         'span06', 'RenderingIntent.html#RenderingIntentClass', '400',         '100%' )"><span class="codefrag">org.apache.fop.fo.properties.RenderingIntent</span></a> is
  +        an example of a class which supports an enumerated value with
  +        a larger set of tokens.  The <span id="span07"></span><a href="javascript:toggleCode( 'span07',         'RenderingIntent.html#dataTypes', '400', '100%' )"><span class="codefrag">dataTypes</span></a> field contains the <span id="span08"></span><a href="javascript:toggleCode(         'span08', 'Property.html#NOTYPE', '400', '100%' )"><span class="codefrag">ENUM</span> data type constant, defined in
  +        <span class="codefrag">Property</span></a>.  Enumeration
  +        integer constants are defined as <span id="span09"></span><a href="javascript:toggleCode( 'span09',         'RenderingIntent.html#PERCEPTUAL', '400', '100%' )"><span class="codefrag">public static final int</span></a> values.
  +        Zero is never used to represent a valid enumeration constant.
  +        The enumeration tokens are stored in the array <span id="span10"></span><a href="javascript:toggleCode( 'span10',         'RenderingIntent.html#rwEnums', '400', '100%' )"><span class="codefrag">String[] rwEnums</span></a>, which is
  +        initialized with the token strings.  Association of
  +        enumeration tokens with the integer constants occurs in the
  +        <span class="codefrag">HashMap</span> <span id="span11"></span><a href="javascript:toggleCode( 'span11',         'RenderingIntent.html#rwEnumHash"><span class="codefrag',         '400', '100%' )"> rwEnumHash</span></a>, which is initialized
  +        from the token array in a <span class="codefrag">static
  +        {}</span> initializer.  It is, of course, critical that
  +        synchronization between <span class="codefrag">rwEnums</span>
  +        and the enumeration constants be maintained.
  +      </p>
  +      
  +<p>
  +        The publicly accessible mapping from enumeration token to
  +        enumeration constant is achieved through the method <span id="span12"></span><a href="javascript:toggleCode( 'span12',         'RenderingIntent.html#getEnumIndex', '400', '100%' )"><span class="codefrag">int getEnumIndex(String)</span></a>.  The
  +        corresponding mapping from enumeration constant to enumeration
  +        token is achieved through the method <span id="span13"></span><a href="javascript:toggleCode( 'span13',         'RenderingIntent.html#getEnumText', '400', '100%' )"><span class="codefrag">String getEnumText(int)</span></a>.
  +      </p>
  +      
  +<a name="N1009D"></a>
  +      
  +<h4 id="common-enum-values">
  +        Factoring Out Common Enumeration Values
  +      </h4>
  +      
  +<p>
  +        When a number of properties support a common enumerated value,
  +        that value and its associated access methods may be factored
  +        out to a new class, which each of the properties then extends.
  +        An example of such a common super-class is <span id="span14"></span><a href="javascript:toggleCode( 'span14',         'BorderCommonStyle.html#BorderCommonStyleClass', '400', '100%'         )"><span class="codefrag">BorderCommonStyle</span></a>.  Like
  +        a property with a normal HashMap representation of an
  +        enumerated value, BorderCommonStyle defines <span id="span15"></span><a href="javascript:toggleCode( 'span15',         'BorderCommonStyle.html#HIDDEN', '400', '100%' )"><span class="codefrag">public static final int</span></a>
  +        enumeration integer constants.  Similarly, the enumeration
  +        tokens are stored in the array <span id="span16"></span><a href="javascript:toggleCode( 'span16',         'BorderCommonStyle.html#rwEnums', '400', '100%' )"><span class="codefrag">String[] rwEnums</span></a>, and the
  +        association of enumeration tokens with the integer constants
  +        occurs in the <span class="codefrag">HashMap</span> <span id="span17"></span><a href="javascript:toggleCode( 'span17',         'BorderCommonStyle.html#rwEnumHash', '400', '100%' )"><span class="codefrag"> rwEnumHash</span></a>, initialized in a
  +        <span class="codefrag">static {}</span> initializer.  The
  +        mapping methods <span id="span18"></span><a href="javascript:toggleCode( 'span18',         'BorderCommonStyle.html#getEnumIndex', '400', '100%' )"><span class="codefrag">int getEnumIndex(String)</span></a> and <span id="span19"></span><a href="javascript:toggleCode(         'span19', 'BorderCommonStyle.html#getEnumText', '400', '100%'         )"><span class="codefrag">String getEnumText(int)</span></a>
  +        are also present.
  +      </p>
  +      
  +<p>
  +        Notice, however, that the class has none of the static data
  +        constants described in the discussion of <a href="simple-properties.html">simple properties</a>.  These
  +        values are defined in the individual sub-classes of this
  +        class, e.g. <span id="span20"></span><a href="javascript:toggleCode( 'span20',         'BorderLeftStyle.html#BorderLeftStyleClass', '400', '100%' )"><span class="codefrag">BorderLeftStyle</span></a>.  None of
  +        the above fields or methods occur, and <span class="codefrag">BorderLeftStyle</span> is left looking like
  +        an example of a simple property.  The enumeration mapping
  +        methods are, however, available through the super-class <span class="codefrag">BorderCommonStyle</span>.
  +      </p>
  +      
  +<a name="N100DD"></a>
  +      
  +<h4>Mapped Numeric Values</h4>
  +      
  +<p>
  +        In "normal" enumerated values, the token is, effectively,
  +        passed directly into the layout operation of the flow object
  +        to which the property is applied.  Some enumerated values,
  +        however, generate a <span class="codefrag">Numeric</span>
  +        result.  Their resolution involves mapping the token to the
  +        indicated <span class="codefrag">Numeric</span> value.
  +      </p>
  +      
  +<p>
  +        An example is the <span id="span21"></span><a href="javascript:toggleCode( 'span21',         'BorderCommonWidth.html#BorderCommonWidthClass', '400', '100%'         )"><span class="codefrag">BorderCommonWidth</span></a>
  +        property.  This, like the example of <a href="#common-enum-values"><span class="codefrag">BorderCommonStyle</span></a> above, also
  +        represents common enumerated values which have been factored
  +        out to form a super-class for particular properties.  <span class="codefrag">BorderCommonWidth</span>, therefore, also
  +        defines <span id="span22"></span><a href="javascript:toggleCode( 'span22',         'BorderCommonWidth.html#THIN', '400', '100%' )"><span class="codefrag">enumeration constant values</span></a> and an
  +        array of tokens.  In this case, there is no <span class="codefrag">HashMap</span>, because of the limited number
  +        of tokens, but the mapping methods <span id="span23"></span><a href="javascript:toggleCode( 'span23',         'BorderCommonWidth.html#getEnumIndex', '400', '100%' )"><span class="codefrag">int getEnumIndex(String)</span></a> and <span id="span24"></span><a href="javascript:toggleCode(         'span24', 'BorderCommonWidth.html#getEnumText', '400', '100%'         )"><span class="codefrag">String getEnumText(int)</span></a>
  +        are present.
  +      </p>
  +      
  +<p>
  +        The added element in this property is the array <span id="span25"></span><a href="javascript:toggleCode( 'span25',         'BorderCommonWidth.html#mappedPoints', '400', '100%' )"><span class="codefrag">double[] mappedPoints</span></a>.  The
  +        entries in this array must by maintained in syncronization
  +        with the <span id="span26"></span><a href="javascript:toggleCode( 'span26',         'BorderCommonWidth.html#rwEnums', '400', '100%' )"><span class="codefrag">String[] rwEnums</span></a> array of tokens
  +        and the set of <span id="span27"></span><a href="javascript:toggleCode( 'span27',         'BorderCommonWidth.html#THIN', '400', '100%' )">enumeration
  +        constants</a>.  The mapping from token to Numeric value is
  +        achieved by the <span id="span28"></span><a href="javascript:toggleCode( 'span28',         'BorderCommonWidth.html#getMappedLength', '400', '100%' )"><span class="codefrag">Numeric getMappedLength(FONode, int,
  +        int)</span></a> method.
  +      </p>
  +      
  +<p>
  +        
  +        
  +<span id="span29"></span><a href="javascript:toggleCode(         'span29', 'BorderLeftWidth.html#BorderLeftWidthClass', '400',         '100%' )"><span class="codefrag">BorderLeftWidth</span></a>
  +        extends <span id="span30"></span><a href="javascript:toggleCode( 'span30', 'BorderCommonWidth.html',         '400', '100%' )"><span class="codefrag">BorderCommonWidth</span></a>.  It includes
  +        the basic static data, like <a href="simple-properties.html">simple properties</a>, and, in
  +        this case, the <span id="span31"></span><a href="javascript:toggleCode( 'span31',         'BorderLeftWidth.html#getInitialValue', '400', '100%' )"><span class="codefrag">PropertyValue
  +        getInitialValue(int)</span></a> method to derive the initial
  +        value.
  +      </p>
  +      
  +<a name="N10139"></a>
  +      
  +<h4>Deriving Mapped Numeric Values</h4>
  +      
  +<p>
  +        As usual with property values, the usual method of deriving a
  +        mapped numeric value is by calling the <span id="span32"></span><a href="javascript:toggleCode( 'span32',         '../PropertyConsts.html#getMappedNumeric', '400', '100%' )"><span class="codefrag">Numeric getMappedNumeric(FONode, int,
  +        int)</span></a> method in <span id="span33"></span><a href="javascript:toggleCode( 'span33',         '../PropertyConsts.html#pconsts', '400', '100%' )"><span class="codefrag">pconsts</span></a>.  All properties which
  +        support a mapped numeric value must have a <span class="codefrag">Numeric getMappedNumeric(FONode, int)</span>
  +        method, which will be called through its singleton instance,
  +        stored in the <span id="span34"></span><a href="javascript:toggleCode( 'span34',         'PropertyConsts.html#properties', '400', '100%' )"><span class="codefrag">properties</span></a> array, by the <span class="codefrag">PropertyConsts</span> method.
  +      </p>
  +
  +      
  +<p>
  +        
  +<strong>Previous:</strong> <a href="getInitialValue.html">getInitialValue()</a>
  +      
  +</p>
  +      
  +      
  +    
  +</div>
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.4       +355 -1    xml-site/targets/fop/design/alt.design/properties/getInitialValue.html
  
  Index: getInitialValue.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/getInitialValue.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- getInitialValue.html	7 Mar 2003 02:44:06 -0000	1.3
  +++ getInitialValue.html	17 Mar 2003 02:15:49 -0000	1.4
  @@ -1 +1,355 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/getInitialValue.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/getInitialValue.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title></title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<a href="introduction.html">Introduction</a>
  +</li>
  +    
  +<li>
  +<a href="classes-overview.html">Classes overview</a>
  +</li>
  +    
  +<li>
  +<a href="PropertyConsts-class.html">PropertyConsts</a>
  +</li>
  +    
  +<li>
  +<a href="simple-properties.html">Simple Properties</a>
  +</li>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">getInitialValue</font></span>
  +</li>
  +    
  +<li>
  +<a href="enumerated-values.html">Enumerated data</a>
  +</li>
  +    
  +<li>
  +<a href="propertyExpressions.html">Property parsing</a>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +    
  +<script type="text/javascript" src="codedisplay.js"></script>
  +    
  +<div class="content">
  +      
  +<h1>Generating Initial Values</h1>
  +      
  +<p>
  +        
  +<font size="-2">by Peter B. West</font>
  +      
  +</p>
  +      
  +<ul class="minitoc">
  +        
  +<li>
  +          
  +<a href="#N10014">Introduction</a>
  +        
  +</li>
  +        
  +<li>
  +          
  +<a href="#N10021">
  +            Generating and Accessing Initial Values
  +          </a>
  +          
  +<ul class="minitoc">
  +            
  +<li>
  +              
  +<a href="#N10062">Properties without
  +                getInitialValue()</a>
  +            
  +</li>
  +          
  +</ul>
  +        
  +</li>
  +      
  +</ul>
  +      
  +      
  +<a name="N10014"></a>
  +      
  +<h3>Introduction</h3>
  +      
  +<p>
  +        The <a href="simple-properties.html">previous section</a>
  +        discussed the common data elements in the simplest examples of
  +        property classes.  This section discusses more complex classes
  +        whose facilities are accessed only through various methods.
  +      </p>
  +      
  +      
  +<a name="N10021"></a>
  +      
  +<h3>
  +        Generating and Accessing Initial Values
  +      </h3>
  +      
  +      
  +<p>
  +        
  +        
  +<span id="span00"></span><a href="javascript:toggleCode(         'span00', 'AutoRestore.html', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.properties.AutoRestore</span></a> is an
  +        example of the next most complex property class.  In addition
  +        to all of the common static fields, these classes have initial
  +        data value types which require the dynamic generation of a
  +        PropertyValue instance.
  +      </p>
  +      
  +<p>
  +        The method <span id="span01"></span><a href="javascript:toggleCode( 'span01',         'AutoRestore.html#getInitialValue', '400', '100%' )"><span class="codefrag">PropertyValue getInitialValue(int)</span></a>
  +        returns an instance of PropertyValue of the appropriate
  +        subclass containing the initial value for this property.  Like
  +        the static data fields, this value is, in turn, stored in the
  +        array of initial values maintained in the <span id="span02"></span><a href="javascript:toggleCode( 'span02',         'PropertyConsts.html#PropertyConstsClass', '400', '100%' )"><span class="codefrag">PropertyConsts</span></a> singleton
  +        <span id="span03"></span><a href="javascript:toggleCode(         'span03', 'PropertyConsts.html#pconsts', '400', '100%' )"><span class="codefrag">pconsts</span></a>.` As with the
  +        fields, the first invocation of the method <span id="span04"></span><a href="javascript:toggleCode( 'span04',         'PropertyConsts.html#setupProperty', '400', '100%' )"><span class="codefrag">setupProperty</span></a> on the property
  +        instantiates the singleton instance of the class, and stores
  +        that instance in the in the <span id="span05"></span><a href="javascript:toggleCode( 'span05',         'PropertyConsts.html#properties', '400', '100%' )"><span class="codefrag">Property[] properties</span></a> array of
  +        <span id="span06"></span><a href="javascript:toggleCode(         'span06', 'PropertyConsts.html#pconsts', '400', '100%' )"><span class="codefrag">pconsts</span></a>.
  +      </p>
  +      
  +<p>
  +        Unlike the static data fields, however, the initial value is
  +        not immediately generated.  It is generated by a call to <span id="span07"></span><a href="javascript:toggleCode(         'span07', 'PropertyConsts.html#getInitialValue', '400', '100%'         )"><span class="codefrag">PropertyValue
  +        getInitialValue(int)</span></a> in <span id="span08"></span><a href="javascript:toggleCode( 'span08',         'PropertyConsts.html#pconsts', '400', '100%' )"><span class="codefrag">pconsts</span></a>.  This call, in turn,
  +        locates the relevant instance of the particular property class
  +        in the <span id="span09"></span><a href="javascript:toggleCode( 'span09',         'PropertyConsts.html#properties', '400', '100%' )"><span class="codefrag">properties</span> array of <span class="codefrag">PropertyConsts</span></a>, and invokes the <span class="codefrag">getInitialValue()</span> of that instance.
  +        A side-effect of this call is to store the initial value in
  +        <span id="span10"></span><a href="javascript:toggleCode(         'span10', 'PropertyConsts.html#initialValues', '400', '100%'         )"><span class="codefrag">PropertyValue[]
  +        initialValues</span></a>.
  +      </p>
  +      
  +<a name="N10062"></a>
  +      
  +<h4>Properties without
  +        getInitialValue()</h4>
  +      
  +<p>
  +        What about property classes which have no <span class="codefrag">getInitialValue()</span> method?  The
  +        simplest classes, e.g. <span class="codefrag">Character</span>, fall into this category.
  +        As <a href="classes-overview.html#property-classes">noted
  +        previously</a>, all of the property classes extend <span class="codefrag">org.apache.fop.fo.properties.Property</span>.
  +        <span id="span11"></span><a href="javascript:toggleCode(         'span11', 'Property.html#PropertyClass', '400', '100%' )"><span class="codefrag">Property</span></a> provides a base
  +        <span id="span12"></span><a href="javascript:toggleCode(         'span12', 'Property.html#getInitialValue', '400', '100%' )"><span class="codefrag">PropertyValue
  +        getInitialValue(int)</span></a> method to which the simple
  +        classes fall back.  Note that it is only valid for <span class="codefrag">NOTYPE_IT</span>, <span class="codefrag">AUTO_IT</span>, <span class="codefrag">NONE_IT</span> and <span class="codefrag">AURAL_IT</span> initial value types, so all
  +        classes which have any other initial value type must override
  +        this method.
  +      </p>
  +
  +      
  +<p>
  +        
  +<strong>Previous:</strong> <a href="simple-properties.html">Simple property classes</a>
  +      
  +</p>
  +      
  +<p>
  +        
  +<strong>Next:</strong> <a href="enumerated-values.html">Enumerated values</a>
  +      
  +</p>
  +      
  +    
  +</div>
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.3       +413 -1    xml-site/targets/fop/design/alt.design/properties/introduction.html
  
  Index: introduction.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/introduction.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- introduction.html	11 Mar 2003 15:34:45 -0000	1.2
  +++ introduction.html	17 Mar 2003 02:15:49 -0000	1.3
  @@ -1 +1,413 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/introduction.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/introduction.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title>Implementing Properties</title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">Introduction</font></span>
  +</li>
  +    
  +<li>
  +<a href="classes-overview.html">Classes overview</a>
  +</li>
  +    
  +<li>
  +<a href="PropertyConsts-class.html">PropertyConsts</a>
  +</li>
  +    
  +<li>
  +<a href="simple-properties.html">Simple Properties</a>
  +</li>
  +    
  +<li>
  +<a href="getInitialValue.html">getInitialValue</a>
  +</li>
  +    
  +<li>
  +<a href="enumerated-values.html">Enumerated data</a>
  +</li>
  +    
  +<li>
  +<a href="propertyExpressions.html">Property parsing</a>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +<table class="title" summary="">
  +<tr>
  +<td valign="middle">
  +<h1>Implementing Properties</h1>
  +</td><td nowrap="nowrap" width="40" align="center"><a class="dida" href="introduction.pdf"><img alt="PDF" src="../../../skin/images/pdfdoc.gif" border="0"><br>
  +          PDF</a></td>
  +</tr>
  +</table>
  +<p>
  +<font size="-2">by&nbsp;Peter B. West</font>
  +</p>
  +<ul class="minitoc">
  +<li>
  +<a href="#An+alternative+properties+implementation">An alternative properties implementation</a>
  +<ul class="minitoc">
  +<li>
  +<a href="#The+history+problem">The history problem</a>
  +</li>
  +<li>
  +<a href="#The+construction+hierarchy">The construction hierarchy</a>
  +</li>
  +<li>
  +<a href="#Representing+properties%3A+%3Cproperty%3E+classes">Representing properties: &lt;property&gt; classes</a>
  +</li>
  +</ul>
  +</li>
  +</ul>
  +    
  +<a name="N101C6"></a><a name="An+alternative+properties+implementation"></a>
  +<h3>An alternative properties implementation</h3>
  +<div style="margin-left: 0 ; border: 2px">
  +<div class="frame note">
  +<div class="label">Note</div>
  +<div class="content"> 
  +        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.
  +      </div>
  +</div>
  +<p>
  +        Property handling is complex and expensive. Varying numbers of
  +        properties <strong>apply</strong> 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>
  +<div class="frame note">
  +<div class="label">Note</div>
  +<div class="content">
  +        
  +<em>(XSL 1.0 Rec)</em> <strong>5.1.4 Inheritance</strong>
  +        ...The inheritable properties can be placed on any formatting
  +        object.
  +      </div>
  +</div>
  +<p>
  +        Even if the value is not inheritable, it may be accessed by
  +        its children through the <span class="codefrag">inherit</span> keyword or the
  +        <span class="codefrag">from-parent()</span> core function, and potentially by
  +        any of its descendents through the
  +        <span class="codefrag">from-nearest-specified-value()</span> 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>
  +<a name="N101F6"></a><a name="The+history+problem"></a>
  +<h4>The history problem</h4>
  +<div style="margin-left: 0 ; border: 2px">
  +<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>, <strong>for each applicable
  +          property</strong>, 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>
  +</div>
  +<a name="N10215"></a><a name="The+construction+hierarchy"></a>
  +<h4>The construction hierarchy</h4>
  +<div style="margin-left: 0 ; border: 2px">
  +<p>
  +          Properties are resoved in the <strong>FO tree</strong> in a
  +          strictly hierarchical manner.  Nodes are detected in the
  +          input in a <strong>pre-order</strong> traversal, and are
  +          built in the same order.  This imples that there are two
  +          phases, or states, of property resolution and construction.
  +          Any particular FO node is either in a state of constructing
  +          its own subtree, or in a stable state where the subtree
  +          construction is complete.  These states have differenct data
  +          requirements.
  +        </p>
  +<dl>
  +          
  +<dt>Subtree building</dt>
  +          
  +<dd>
  +            In this state, all properties defined on this node, or any
  +            of its ancestors must be available to the subtree.  In
  +            effect, any property defined on this node must be
  +            available to its descendants, as all properties defined on
  +            any ancestor are available to this node.
  +          </dd>
  +          
  +<dt>Stable: subtree building complete</dt>
  +          
  +<dd>
  +            In this state, only the properties <strong>applicable to
  +            this node</strong> need be available.
  +          </dd>
  +        
  +</dl>
  +</div>
  +<a name="N10237"></a><a name="Representing+properties%3A+%3Cproperty%3E+classes"></a>
  +<h4>Representing properties: &lt;property&gt; classes</h4>
  +<div style="margin-left: 0 ; border: 2px">
  +<a name="N1023D"></a><a name="Class+vs+instance"></a>
  +<h5>Class vs instance</h5>
  +<div style="margin-left: 0 ; border: 2px">
  +<p>
  +            What information is required of property objects?
  +            More particularly, what information is particular to the
  +            property classes, and what to the instantiated
  +            objects?  The answer to this question depend largely on
  +            how the property objects are used in the context
  +            of layout and Area tree construction.  The approach taken
  +            in this implementation is that properties are simply flags
  +            on certain data values associated with FOs.  The semantics
  +            of these flags are determined within the layout engine.
  +          </p>
  +<p>
  +            Certain constant information attaches to individual
  +            property classes.  This information is detailed in
  +            the descriptions of individual properties in <em>Section
  +            7</em> of the specification.  Such information is
  +            represented in <strong>class</strong> fields and data
  +            structures within the classes.
  +          </p>
  +<p>
  +            The "instance" information content of a property
  +            is:
  +          </p>
  +<ul>
  +            
  +<li>
  +              explicitly, the <span class="codefrag">PropertyValue</span> datum of
  +              the property, and
  +            </li>
  +            
  +<li>
  +              implicitly, the <strong>Flow Object</strong> to which
  +              the property is attached.
  +            </li>
  +          
  +</ul>
  +<p>
  +            Properties, then, serve essentially to link <em>FO
  +            instances</em> with <em>PropertyValue instances</em>,
  +            attaching certain invariant semantic markers to the
  +            PropertyValues in the process.  In this implementation,
  +            these functions can be realised entirely within the
  +            property <strong>classes</strong> themselves,
  +            without the need to instantiate any objects.  In practice,
  +            <strong>property singletons</strong> are
  +            instantiated to make access to some invariants simpler.
  +          </p>
  +</div>
  +</div>
  +<p>
  +        
  +<strong>Next:</strong> <a href="classes-overview.html">property classes overview.</a>
  +      
  +</p>
  +</div>
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.4       +771 -1    xml-site/targets/fop/design/alt.design/properties/propertyExpressions.html
  
  Index: propertyExpressions.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/propertyExpressions.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- propertyExpressions.html	7 Mar 2003 02:44:07 -0000	1.3
  +++ propertyExpressions.html	17 Mar 2003 02:15:50 -0000	1.4
  @@ -1 +1,771 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/propertyExpressions.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/propertyExpressions.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title></title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<a href="introduction.html">Introduction</a>
  +</li>
  +    
  +<li>
  +<a href="classes-overview.html">Classes overview</a>
  +</li>
  +    
  +<li>
  +<a href="PropertyConsts-class.html">PropertyConsts</a>
  +</li>
  +    
  +<li>
  +<a href="simple-properties.html">Simple Properties</a>
  +</li>
  +    
  +<li>
  +<a href="getInitialValue.html">getInitialValue</a>
  +</li>
  +    
  +<li>
  +<a href="enumerated-values.html">Enumerated data</a>
  +</li>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">Property parsing</font></span>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +    
  +<script type="text/javascript" src="codedisplay.js"></script>
  +    
  +<div class="content">
  +      
  +<h1>Property Expression Parsing</h1>
  +      
  +<p>
  +        
  +<font size="-2">by Peter B. West</font>
  +      
  +</p>
  +      
  +<ul class="minitoc">
  +        
  +<li>
  +          
  +<a href="#N10014">Property expression parsing</a>
  +          
  +<ul class="minitoc">
  +            
  +<li>
  +              
  +<a href="#N10044">Data types</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N10252">Tokenizer</a>
  +            
  +</li>
  +            
  +<li>
  +              
  +<a href="#N1029C">Parser</a>
  +            
  +</li>
  +          
  +</ul>
  +        
  +</li>
  +      
  +</ul>
  +      
  +      
  +<a name="N10014"></a>
  +      
  +<h3>Property expression parsing</h3>
  +      
  +      
  +<p>
  +        The parsing of property value expressions is handled by two
  +        closely related classes: <span id="span00"></span><a href="javascript:toggleCode( 'span00',         'PropertyTokenizer.html#PropertyTokenizerClass', '400', '100%'         )"><span class="codefrag">org.apache.fop.fo.expr.PropertyTokenizer</span></a> and its
  +        subclass, <span id="span01"></span><a href="javascript:toggleCode( 'span01',         'PropertyParser.html#PropertyParserClass', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.expr.PropertyParser</span></a>, and by
  +        <span class="codefrag">refineParsing(int, FONode,
  +        PropertyValue)</span> methods in the individual property
  +        classes.  <span class="codefrag">PropertyTokenizer</span>,
  +        as the name suggests, handles the tokenizing of the
  +        expression, handing <span id="span02"></span><a href="javascript:toggleCode( 'span02',         'PropertyTokenizer.html#EOF', '400', '100%' )"><em>tokens</em></a> back to its subclass, <span class="codefrag">PropertyParser</span>. <span class="codefrag">PropertyParser</span>, in turn, returns a <span id="span03"></span><a href="javascript:toggleCode( 'span03',         'PropertyValueList.html#PropertyValueListClass', '400', '100%'         )"><span class="codefrag">PropertyValueList</span></a>, a
  +        list of <span id="span04"></span><a href="javascript:toggleCode( 'span04',         'PropertyValue.html#PropertyValueInterface', '400', '100%' )"><span class="codefrag">PropertyValue</span></a>s.
  +      </p>
  +      
  +<p>
  +        The tokenizer and parser rely in turn on the datatype
  +        definitions from the <span class="codefrag">org.apache.fop.datatypes</span> package, which include the
  +        <span id="span05"></span><a href="javascript:toggleCode(         'span05', 'PropertyValue.html#NO_TYPE', '400', '100%' )"><span class="codefrag">PropertyValue</span> datatype
  +        constant definitions</a>.
  +      </p>
  +      
  +<a name="N10044"></a>
  +      
  +<h4>Data types</h4>
  +      
  +<p>
  +        The data types currently defined in
  +        <span class="codefrag">org.apache.fop.datatypes</span> include:
  +      </p>
  +      
  +<table class="ForrestTable" cellspacing="1" cellpadding="4">
  +        
  +          
  +<tr>
  +            
  +<th colspan="2" rowspan="1">Numbers and lengths</th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">Numeric</th>
  +            <td colspan="3" rowspan="1">
  +              The fundamental length data type.  <em>Numerics</em> of
  +              various types are constructed by the classes listed
  +              below.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <th colspan="3" rowspan="1">Constructor classes for <em>Numeric</em></th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">Ems</td>
  +            <td colspan="2" rowspan="1">Relative length in <em>ems</em></td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">IntegerType</td>
  +            <td colspan="1" rowspan="1"></td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">Length</td>
  +            <td colspan="2" rowspan="1">In centimetres(cm), millimetres(mm),
  +              inches(in), points(pt), picas(pc) or pixels(px)</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">Percentage</td>
  +            <td colspan="1" rowspan="1"></td>
  +          
  +</tr>
  +
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">Other Numeric</th>
  +            <td colspan="3" rowspan="1">
  +              Other numeric vaues which do not interact with the
  +              lengths represented by <em>Numeric</em> values.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">Angle</td>
  +            <td colspan="2" rowspan="1">In degrees(deg), gradients(grad) or
  +              radians(rad)</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">Frequency</td>
  +            <td colspan="2" rowspan="1">In hertz(Hz) or kilohertz(kHz)</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1">Time</td>
  +            <td colspan="1" rowspan="1">In seconds(s) or milliseconds(ms)</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="2" rowspan="1">Strings</th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">StringType</th>
  +            <td colspan="3" rowspan="1">
  +              Base class for data types which result in a <em>String</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">Literal</th>
  +            <td colspan="2" rowspan="1">
  +              A subclass of <em>StringType</em> for literals which
  +              exceed the constraints of an <em>NCName</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">MimeType</th>
  +            <td colspan="2" rowspan="1">
  +              A subclass of <em>StringType</em> for literals which
  +              represent a mime type.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">UriType</th>
  +            <td colspan="2" rowspan="1">
  +              A subclass of <em>StringType</em> for literals which
  +              represent a URI, as specified by the argument to
  +              <em>url()</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">NCName</th>
  +            <td colspan="2" rowspan="1">
  +              A subclass of <em>StringType</em> for literals which
  +              meet the constraints of an <em>NCName</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">Country</th>
  +            <td colspan="1" rowspan="1">An RFC 3066/ISO 3166 country code.</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">Language</th>
  +            <td colspan="1" rowspan="1">An RFC 3066/ISO 639 language code.</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">Script</th>
  +            <td colspan="1" rowspan="1">An ISO 15924 script code.</td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="2" rowspan="1">Enumerated types</th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">EnumType</th>
  +            <td colspan="3" rowspan="1">
  +              An integer representing one of the tokens in a set of
  +              enumeration values.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="1" rowspan="1"></td>
  +            <th colspan="1" rowspan="1">MappedNumeric</th>
  +            <td colspan="2" rowspan="1">
  +              A subclass of <em>EnumType</em>.  Maintains a
  +              <em>Numeric</em> with the value to which the associated
  +              "raw" enumeration token maps.  E.g., the
  +              <em>font-size</em> enumeration value "medium" maps to
  +              the <em>Numeric</em> "12pt".
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="2" rowspan="1">Colors</th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">ColorType</th>
  +            <td colspan="3" rowspan="1">
  +              Maintains a four-element array of float, derived from
  +              the name of a standard colour, the name returned by a
  +              call to <em>system-color()</em>, or an RGB
  +              specification.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="2" rowspan="1">Fonts</th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">FontFamilySet</th>
  +            <td colspan="3" rowspan="1">
  +              Maintains an array of <em>String</em>s containing a
  +              prioritized list of possibly generic font family names.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="2" rowspan="1">Pseudo-types</th>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<td colspan="4" rowspan="1">
  +              A variety of pseudo-types have been defined as
  +              convenience types for frequently appearing enumeration
  +              token values, or for other special purposes.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">Inherit</th>
  +            <td colspan="3" rowspan="1">
  +              For values of <em>inherit</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">Auto</th>
  +            <td colspan="3" rowspan="1">
  +              For values of <em>auto</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">None</th>
  +            <td colspan="3" rowspan="1">
  +              For values of <em>none</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">Bool</th>
  +            <td colspan="3" rowspan="1">
  +              For values of <em>true/false</em>.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">FromNearestSpecified</th>
  +            <td colspan="3" rowspan="1">
  +              Created to ensure that, when associated with
  +              a shorthand, the <em>from-nearest-specified-value()</em>
  +              core function is the sole component of the expression.
  +            </td>
  +          
  +</tr>
  +          
  +          
  +<tr>
  +            
  +<th colspan="1" rowspan="1">FromParent</th>
  +            <td colspan="3" rowspan="1">
  +              Created to ensure that, when associated with
  +              a shorthand, the <em>from-parent()</em>
  +              core function is the sole component of the expression.
  +            </td>
  +          
  +</tr>
  +          
  +      
  +</table>
  +      
  +<a name="N10252"></a>
  +      
  +<h4>Tokenizer</h4>
  +      
  +<p>
  +        As mentioned above, the <span class="codefrag">PropertyTokenizer</span> hands <span id="span06"></span><a href="javascript:toggleCode( 'span06',         'PropertyTokenizer.html#EOF', '400', '100%' )"><em>tokens</em></a> back to its subclass, <span class="codefrag">PropertyParser</span>.  Most of these tokens are
  +        self-explanatory, but a few need further comment.
  +      </p>
  +      
  +<dl>
  +        
  +        
  +<dt>AUTO</dt>
  +        
  +        
  +<dd>
  +          Because of its frequency of occurrence, and the fact that it
  +          is always the <em>initial value</em> for any property which
  +          supports it, AUTO has been promoted into a pseudo-type with
  +          its on datatype class.  Therefore, it is also reported as a
  +          token.
  +        </dd>
  +        
  +        
  +<dt>NONE</dt>
  +        
  +        
  +<dd>
  +          Similarly to AUTO, NONE has been promoted to a pseudo-type
  +          because of its frequency.
  +        </dd>
  +        
  +        
  +<dt>BOOL</dt>
  +        
  +        
  +<dd>
  +          There is a <em>de facto</em> boolean type buried in the
  +          enumeration types for many of the properties.  It had been
  +          specified as a type in its own right in this code.
  +        </dd>
  +        
  +        
  +<dt>MIMETYPE</dt>
  +        
  +        
  +<dd>
  +          The property <span class="codefrag">content-type</span>
  +          introduces this complication.  It can have two values of the
  +          form <strong>content-type:</strong><em>mime-type</em>
  +          (e.g. <span class="codefrag">content-type="content-type:xml/svg"</span>) or
  +          <strong>namespace-prefix:</strong><em>prefix</em>
  +          (e.g. <span class="codefrag">content-type="namespace-prefix:svg"</span>).  The
  +          experimental code reduces these options to the payload in
  +          each case: an <span class="codefrag">NCName</span> in the
  +          case of a namespace prefix, and a MIMETYPE in the case of a
  +          content-type specification.  <span class="codefrag">NCName</span>s cannot contain a "/".
  +        </dd>
  +        
  +      
  +</dl>
  +      
  +<a name="N1029C"></a>
  +      
  +<h4>Parser</h4>
  +      
  +<p>
  +        The parser returns a <span id="span07"></span><a href="javascript:toggleCode( 'span07',         'PropertyValueList.html#PropertyValueListClass', '400', '100%'         )"><span class="codefrag">PropertyValueList</span></a>,
  +        necessary because of the possibility that a list of <span id="span08"></span><a href="javascript:toggleCode( 'span08',         'PropertyValue.html#PropertyValueInterface', '400', '100%' )"><span class="codefrag">PropertyValue</span></a> elements
  +        may be returned from the expressions of some properties.
  +      </p>
  +      
  +<p>
  +        
  +        
  +<span class="codefrag">PropertyValueList</span>s may contain
  +        <span class="codefrag">PropertyValue</span>s or other <span class="codefrag">PropertyValueList</span>s.  This latter
  +        provision is necessitated by some of the more peculiar
  +        expression possibilities, <em>e.g.</em> <em>font</em> and
  +        <em>text-shadow</em>.  <em>text-shadow</em> may contain whitespace
  +        separated sublists of either two or three elements, separated
  +        from one another by commas.  To accommodate this peculiarity,
  +        comma separated elements are added to the top-level list,
  +        while whitespace separated values are always collected into
  +        sublists to be added to the top-level list.
  +      </p>
  +      
  +<p>
  +        Other special cases include the processing of the core
  +        functions <span class="codefrag">from-parent()</span> and
  +        <span class="codefrag">from-nearest-specified-value()</span>
  +        when these function calls are assigned to a shorthand
  +        property, or used with a shorthand property name as an
  +        argument.  In these cases, the function call must be the sole
  +        component of the expression.  The pseudo-element classes <span class="codefrag">FromParent</span> and <span class="codefrag">FromNearestSpecified</span> are generated in
  +        these circumstances so that an exception will be thrown if
  +        they are involved in expression evaluation with other
  +        components. (See Rec. Section 5.10.4 Property Value
  +        Functions.)
  +      </p>
  +      
  +<p>
  +        The experimental code is a simple extension of the existing
  +        parser code, which itself borrowed heavily from James
  +        Clark's XT processor.
  +      </p>
  +      
  +    
  +</div>
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.4       +483 -1    xml-site/targets/fop/design/alt.design/properties/simple-properties.html
  
  Index: simple-properties.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/design/alt.design/properties/simple-properties.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- simple-properties.html	7 Mar 2003 02:44:07 -0000	1.3
  +++ simple-properties.html	17 Mar 2003 02:15:50 -0000	1.4
  @@ -1 +1,483 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>design/alt.design/properties/simple-properties.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/design/alt.design/properties/simple-properties.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  +<html>
  +<head>
  +<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  +<title></title>
  +<link type="text/css" href="../../../skin/page.css" rel="stylesheet">
  +</head>
  +<body text="#000000" bgcolor="#FFFFFF">
  +<!--================= start Navigation Path ==================-->
  +<table summary="navigation path" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td nowrap="nowrap" valign="middle" bgcolor="#CFDCED" height="20"><img height="1" width="5" alt="" border="0" src="../../../skin/images/spacer.gif"><!--===== breadcrumb trail (javascript-generated) ====--><font size="2" face="Arial, Helvetica, Sans-serif"><script src="../../../skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script></font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" height="2"><img height="2" width="2" alt="" border="0" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Navigation Path ==================-->
  +<!--================= start Banner ==================-->
  +<table summary="header with logos" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<!--================= start Group Logo ==================-->
  +<td bgcolor="#294563"><a href="http://xml.apache.org/"><img border="0" class="logoImage" alt="Apache XML" src="../../../images/group-logo.gif"></a></td>
  +<!--================= end Group Logo ==================-->
  +<!--================= start Project Logo ==================--><td width="100%" align="center" bgcolor="#294563"><a href="http://xml.apache.org/fop/"><img border="0" class="logoImage" alt="FOP" src="../../../images/logo.jpg"></a></td>
  +<!--================= end Project Logo ==================-->
  +<!--================= start Search ==================--><td valign="top" rowspan="2" bgcolor="#294563">
  +<form target="_blank" action="http://www.google.com/search" method="get">
  +<table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
  +<tr>
  +<td colspan="3"><img height="10" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap"><input value="xml.apache.org" name="sitesearch" type="hidden"><input size="15" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../../../skin/images/spacer.gif"><input name="Search" value="Search" type="submit">
  +<br>
  +<font face="Arial, Helvetica, Sans-serif" size="2" color="white">
  +                      the Apache XML site
  +                      
  +                      
  +                    </font></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-left.gif"></td><td><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"></td><td><img alt="" border="0" height="10" width="9" src="../../../skin/images/search-right.gif"></td>
  +</tr>
  +</table>
  +</form>
  +</td>
  +<!--================= start Search ==================--><td bgcolor="#294563"><img height="10" width="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" bgcolor="#294563" colspan="2">
  +<!--================= start Tabs ==================-->
  +<div class="tab">
  +<table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../index.html"><font face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../../dev/index.html"><font face="Arial, Helvetica, Sans-serif">Development</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="non selected tab" style="height: 1.6em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font face="Arial, Helvetica, Sans-serif">Redesign</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../../skin/images/tab-right.gif"></td>
  +</tr>
  +</table>
  +</td><td width="8"><img alt="" height="8" width="8" src="../../../skin/images/spacer.gif"></td><td valign="bottom">
  +<table summary="selected tab" style="height: 1.7em" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-left.gif"></td><td valign="middle" bgcolor="#4C6C8F"><font color="#ffffff" size="2" face="Arial, Helvetica, Sans-serif"><b><a href="../index.html"><font color="#000000">alt design</font></a></b></font></td><td valign="top" width="5" bgcolor="#4C6C8F"><img height="5" width="5" alt="" src="../../../skin/images/tabSel-right.gif"></td>
  +</tr>
  +</table>
  +</td>
  +</tr>
  +</table>
  +</div>
  +<!--================= end Tabs ==================-->
  +</td><td bgcolor="#294563"><img alt="" width="1" height="1" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#4C6C8F" colspan="4"><img width="1" height="10" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +<!--================= end Banner ==================-->
  +<!--================= start Menu, NavBar, Content ==================-->
  +<table summary="page content" bgcolor="#ffffff" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td valign="top">
  +<table summary="menu" border="0" cellspacing="0" cellpadding="0">
  +<tr>
  +<!--================= start left top NavBar ==================-->
  +<td rowspan="3" valign="top">
  +<table summary="blue line" border="0" cellpadding="0" cellspacing="0">
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td bgcolor="#CFDCED"><font color="#4C6C8F" size="4" face="Arial, Helvetica, Sans-serif">&nbsp;</font></td>
  +</tr>
  +<tr>
  +<td bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td>
  +<!--================= end left top NavBar ==================--><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td nowrap="nowrap" valign="top" bgcolor="#4C6C8F">
  +<!--================= start Menu items ==================-->
  +<div class="menu">
  +<ul>
  +<li>
  +<font color="#CFDCED">Index</font>
  +<ul>
  +    
  +<li>
  +<a href="../../index.html">FOP Home</a>
  +</li>
  +    
  +<li>
  +<a href="../index.html">Alt Design</a>
  +</li>
  +  
  +</ul>
  +</li>
  +<li>
  +<font color="#CFDCED">Alt properties</font>
  +<ul>
  +    
  +<li>
  +<a href="introduction.html">Introduction</a>
  +</li>
  +    
  +<li>
  +<a href="classes-overview.html">Classes overview</a>
  +</li>
  +    
  +<li>
  +<a href="PropertyConsts-class.html">PropertyConsts</a>
  +</li>
  +    
  +<li>
  +<span class="sel"><font color="#ffcc00">Simple Properties</font></span>
  +</li>
  +    
  +<li>
  +<a href="getInitialValue.html">getInitialValue</a>
  +</li>
  +    
  +<li>
  +<a href="enumerated-values.html">Enumerated data</a>
  +</li>
  +    
  +<li>
  +<a href="propertyExpressions.html">Property parsing</a>
  +</li>
  +  
  +</ul>
  +</li>
  +</ul>
  +</div>
  +<!--================= end Menu items ==================-->
  +</td><td valign="bottom" bgcolor="#4C6C8F"><img width="10" height="10" alt="" src="../../../skin/images/spacer.gif"></td><td bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td valign="bottom" align="left" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-left.gif"></td><td bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/spacer.gif"></td><td valign="bottom" align="right" colspan="2" rowspan="2" bgcolor="#4C6C8F"><img height="10" width="10" border="0" alt="" src="../../../skin/images/menu-right.gif"></td>
  +</tr>
  +<tr>
  +<td height="1" bgcolor="#294563"><img width="1" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +</table>
  +</td><td valign="top" width="100%">
  +<table summary="content" width="100%" border="0" cellpadding="0" cellspacing="0">
  +<!--================= start middle NavBar ==================-->
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td align="left" width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td align="right" width="50%" bgcolor="#CFDCED"><font color="#4C6C8F" size="3" face="Arial, Helvetica, Sans-serif">
  +                &nbsp;
  +                
  +                </font><img width="10" height="8" alt="" src="../../../skin/images/spacer.gif"></td><td width="10" bgcolor="#CFDCED"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<tr>
  +<td colspan="4" bgcolor="#294563"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end middle NavBar ==================-->
  +<!--================= start Content==================-->
  +<tr>
  +<td align="left" width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td><td align="left" width="100%">
  +<div class="content">
  +    
  +<script type="text/javascript" src="codedisplay.js"></script>
  +    
  +<div class="content">
  +      
  +<h1>Simple property Classes</h1>
  +      
  +<p>
  +        
  +<font size="-2">by Peter B. West</font>
  +      
  +</p>
  +      
  +<ul class="minitoc">
  +        
  +<li>
  +          
  +<a href="#N10014">Introduction</a>
  +        
  +</li>
  +        
  +<li>
  +          
  +<a href="#N10026">Common data</a>
  +        
  +</li>
  +        
  +<li>
  +          
  +<a href="#N10075">Accessing property Data Constants</a>
  +        
  +</li>
  +      
  +</ul>
  +      
  +      
  +<a name="N10014"></a>
  +      
  +<h3>Introduction</h3>
  +      
  +      
  +<p>
  +        An <a href="classes-overview.html">overview of the properties
  +        and classes</a> involved in handling properties has already
  +        been given.  This discussion will go in detail into the way
  +        data are represented within properties.  Iit is important to
  +        keep in mind that the primary avenue of access to the data and
  +        the methods of property classes is the <span id="span00"></span><a href="javascript:toggleCode( 'span00',         'PropertyConsts.html#PropertyConstsClass', '400', '100%' )"><span class="codefrag">PropertyConsts</span></a> class and
  +        its singleton object.
  +      </p>
  +      
  +      
  +<a name="N10026"></a>
  +      
  +<h3>Common data</h3>
  +      
  +<p>
  +        
  +        
  +<span id="span01"></span><a href="javascript:toggleCode(         'span01', 'Character.html', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.properties.Character</span></a>
  +        is an example of a basic property class.  The data fields
  +        common to all properties are:
  +      </p>
  +      
  +<dl>
  +        
  +        
  +<dt>
  +          
  +          
  +<span class="codefrag">final int dataTypes</span>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          This field defines the allowable data types which may be
  +          assigned to the property.  The value is chosen from the data
  +          type constants defined in <span id="span02"></span><a href="javascript:toggleCode( 'span02',           'Property.html#NOTYPE', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.properties.Property</span></a>,
  +          and may consist of more than one of those constants,
  +          bit-ORed together.
  +        </dd>
  +        
  +        
  +<dt>
  +          
  +          
  +<span class="codefrag">final int traitMapping</span>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          This field defines the mapping of properties to traits in
  +          the <span class="codefrag">Area tree</span>. The value is
  +          chosen from the trait mapping constants defined in <span id="span03"></span><a href="javascript:toggleCode(           'span03', 'Property.html#NO_TRAIT', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.properties.Property</span></a>,
  +          and may consist of more than one of those constants,
  +          bit-ORed together.
  +        </dd>
  +        
  +        
  +<dt>
  +          
  +          
  +<span class="codefrag">final int initialValueType</span>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          This field defines the data type of the initial value
  +          assigned to the property.  The value is chosen from the
  +          initial value type constants defined in <span id="span04"></span><a href="javascript:toggleCode( 'span04',           'Property.html#NOTYPE_IT', '400', '100%' )"><span class="codefrag">org.apache.fop.fo.properties.Property</span></a>.
  +          In the simplest property classes, such as <span class="codefrag">Character</span>, there is no defined
  +          initial value type.
  +        </dd>
  +        
  +        
  +<dt>
  +          
  +          
  +<span class="codefrag">final int inherited</span>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          This field defines the kind of inheritance applicable to the
  +          property.  The value is chosen from the inheritance
  +          constants defined in <span id="span05"></span><a href="javascript:toggleCode( 'span05', 'Property.html#NO', '400',           '100%' )"><span class="codefrag">org.apache.fop.fo.properties.Property</span></a>.
  +        </dd>
  +        
  +      
  +</dl>
  +      
  +      
  +<a name="N10075"></a>
  +      
  +<h3>Accessing property Data Constants</h3>
  +      
  +<p>
  +        The constants above are generally accessed through the arrays
  +        maintained in the <span id="span06"></span><a href="javascript:toggleCode( 'span06',         'PropertyConsts.html#PropertyConstsClass', '400', '100%' )"><span class="codefrag">PropertyConsts</span></a> singleton
  +        <span id="span07"></span><a href="javascript:toggleCode(         'span07', 'PropertyConsts.html#pconsts', '400', '100%' )"><span class="codefrag">pconsts</span></a>.  The first
  +        invocation of the method <span id="span08"></span><a href="javascript:toggleCode( 'span08',         'PropertyConsts.html#setupProperty', '400', '100%' )"><span class="codefrag">setupProperty</span></a> on the property
  +        generates a <span class="codefrag">Class</span> instance for
  +        the class, and stores it in the array <span id="span09"></span><a href="javascript:toggleCode( 'span09',         'PropertyConsts.html#classes', '400', '100%' )"><span class="codefrag">classes</span></a>.  This <span class="codefrag">Class</span> object is used, in turn, to
  +        instantiate the singleton instance of the class, which is
  +        stored in the <span id="span10"></span><a href="javascript:toggleCode( 'span10',         'PropertyConsts.html#properties', '400', '100%' )"><span class="codefrag">Property[] properties</span></a> array of
  +        <span id="span11"></span><a href="javascript:toggleCode(         'span11', '../PropertyConsts.html#pconsts', '400', '100%' )"><span class="codefrag">pconsts</span></a>.
  +      </p>
  +      
  +<p>
  +        
  +        
  +<em>Reflection</em> methods are then used, via the same <span class="codefrag">Class</span> instance, to extract and store
  +        the static data fields.  These arrays and associated access
  +        methods are:
  +      </p>
  +      
  +<dl>
  +        
  +        
  +<dt>
  +          
  +          
  +<span id="span12"></span><a href="javascript:toggleCode( 'span12',           'PropertyConsts.html#datatypes', '400', '100%' )"><span class="codefrag">int[] datatypes</span></a>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          
  +          
  +<span id="span13"></span><a href="javascript:toggleCode( 'span13',           'PropertyConsts.html#getDataTypes', '400', '100%' )"><span class="codefrag">int getDataTypes(int)</span></a>
  +          
  +        
  +</dd>
  +        
  +        
  +<dt>
  +          
  +          
  +<span id="span14"></span><a href="javascript:toggleCode( 'span14',           'PropertyConsts.html#traitMappings', '400', '100%' )"><span class="codefrag">int[] traitMappings</span></a>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          
  +          
  +<em>No access method yet defined.</em>
  +          
  +        
  +</dd>
  +        
  +        
  +<dt>
  +          
  +          
  +<span id="span15"></span><a href="javascript:toggleCode( 'span15',           'PropertyConsts.html#initialValueTypes', '400', '100%' )"><span class="codefrag">int[] initialValueTypes</span></a>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          
  +          
  +<span id="span16"></span><a href="javascript:toggleCode( 'span16',           'PropertyConsts.html#getInitialValueType', '400', '100%' )"><span class="codefrag">int
  +          getInitialValueType(int)</span></a>
  +          
  +        
  +</dd>
  +        
  +        
  +<dt>
  +          
  +          
  +<span id="span17"></span><a href="javascript:toggleCode( 'span17',           'PropertyConsts.html#inherited', '400', '100%' )"><span class="codefrag">int[] inherited</span></a>
  +          
  +        
  +</dt>
  +        
  +        
  +<dd>
  +          
  +          
  +<span id="span18"></span><a href="javascript:toggleCode( 'span18',           'PropertyConsts.html#inheritance', '400', '100%' )"><span class="codefrag">int inheritance(int)</span></a>
  +          
  +        
  +</dd>
  +        
  +      
  +</dl>
  +
  +      
  +<p>
  +        
  +<strong>Previous:</strong> <a href="PropertyConsts-class.html">PropertyConsts class</a>
  +      
  +</p>
  +      
  +<p>
  +        
  +<strong>Next:</strong> <a href="getInitialValue.html">getInitialValue()</a>
  +      
  +</p>
  +      
  +    
  +</div>
  +  
  +</div>
  +</td><td width="10"><img width="10" height="1" alt="" src="../../../skin/images/spacer.gif"></td>
  +</tr>
  +<!--================= end Content==================-->
  +</table>
  +</td>
  +</tr>
  +</table>
  +<!--================= end Menu, NavBar, Content ==================-->
  +<!--================= start Footer ==================-->
  +<table summary="footer" cellspacing="0" cellpadding="0" width="100%" border="0">
  +<tr>
  +<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../../skin/images/spacer.gif"><a href="../../../skin/images/label.gif"></a><a href="../../../skin/images/page.gif"></a><a href="../../../skin/images/chapter.gif"></a><a href="../../../skin/images/chapter_open.gif"></a><a href="../../../skin/images/current.gif"></a><a href="../../..//favicon.ico"></a></td>
  +</tr>
  +<tr>
  +<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright &copy;
  +          1999-2003&nbsp;The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!--
  +              document.write(" - "+"Last Published: " + document.lastModified);
  +            //  --></script></font></td>
  +</tr>
  +<tr>
  +<td colspan="2" align="left" bgcolor="#CFDCED" class="logos"></td>
  +</tr>
  +</table>
  +<!--================= end Footer ==================-->
  +</body>
  +</html>
  
  
  
  1.4       +1 -1      xml-site/targets/fop/dev/output.html
  
  Index: output.html
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/dev/output.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- output.html	7 Mar 2003 02:44:10 -0000	1.3
  +++ output.html	17 Mar 2003 02:15:52 -0000	1.4
  @@ -1 +1 @@
  -<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>dev/output.html</pre></p><p><b>missing-file</b><pre>/usr/serverlocal/forrestbot/scripts/work/build/bot/xml-fop/site/dev/output.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  +<html><head><title>Resource not Found</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Cocoon 2 - Resource not Found</h1><hr size="1" noshade="noshade"/><p><b>type</b> resource-not-found</p><p><b>message</b> <u>Page Not Available.</u></p><p><b>description</b> <u>The requested resource couldn't be found.</u></p><p><b>sender</b> org.apache.cocoon.Main</p><p><b>source</b> Cocoon commandline (Main.java)</p><p><b>request-uri</b><pre>dev/output.html</pre></p><p><b>missing-file</b><pre>/usr/local/src/xml-fop-head/build/site/dev/output.html</pre></p><hr size="1" noshade="true"/></body></html>
  \ No newline at end of file
  
  
  
  1.7       +16 -16    xml-site/targets/fop/dev/svg/images.pdf
  
  	<<Binary file>>
  
  
  1.7       +14 -14    xml-site/targets/fop/dev/svg/link.pdf
  
  	<<Binary file>>
  
  
  1.7       +7 -7      xml-site/targets/fop/dev/svg/paints.pdf
  
  	<<Binary file>>
  
  
  1.7       +10 -10    xml-site/targets/fop/dev/svg/text.pdf
  
  	<<Binary file>>
  
  
  1.7       +11 -11    xml-site/targets/fop/dev/svg/transparency.pdf
  
  	<<Binary file>>
  
  
  1.3       +7 -3      xml-site/targets/fop/images/EmbeddingExampleFO2PDF.png
  
  	<<Binary file>>
  
  
  1.3       +10 -7     xml-site/targets/fop/images/EmbeddingExampleObj2PDF.png
  
  	<<Binary file>>
  
  
  1.3       +4 -4      xml-site/targets/fop/images/EmbeddingExampleObj2XML.png
  
  	<<Binary file>>
  
  
  1.3       +10 -7     xml-site/targets/fop/images/EmbeddingExampleXML2FO.png
  
  	<<Binary file>>
  
  
  1.3       +14 -6     xml-site/targets/fop/images/EmbeddingExampleXML2PDF.png
  
  	<<Binary file>>
  
  
  1.4       +1 -1      xml-site/targets/fop/skin/breadcrumbs.js
  
  Index: breadcrumbs.js
  ===================================================================
  RCS file: /home/cvs/xml-site/targets/fop/skin/breadcrumbs.js,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- breadcrumbs.js	7 Mar 2003 02:44:11 -0000	1.3
  +++ breadcrumbs.js	17 Mar 2003 02:15:53 -0000	1.4
  @@ -4,7 +4,7 @@
                      The Apache Software License, Version 1.1
    ============================================================================
   
  - Copyright (C) 2002 The Apache Software Foundation. All rights reserved.
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
   
    Redistribution and use in source and binary forms, with or without modifica-
    tion, are permitted provided that the following conditions are met:
  
  
  

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


Mime
View raw message