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 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 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"> </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">
+
+
+ </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">
+
+
+ </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 <property> 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 ©
+ 1999-2003 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"> </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">
+
+
+ </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">
+
+
+ </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 ©
+ 1999-2003 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"> </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">
+
+
+ </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">
+
+
+ </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 ©
+ 1999-2003 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"> </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">
+
+
+ </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">
+
+
+ </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 ©
+ 1999-2003 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"> </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">
+
+
+ </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">
+
+
+ </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 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: <property> 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: <property> 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 ©
+ 1999-2003 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"> </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">
+
+
+ </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">
+
+
+ </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 ©
+ 1999-2003 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"> </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">
+
+
+ </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">
+
+
+ </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 ©
+ 1999-2003 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]