find an appropriate "Maker" for it, call the Maker to convert the
attribute value into a Property object of the correct type, and store
that Property in the PropertyList.</p>
- <section>
+ <section id="datatypes">
<title>Property datatypes</title>
<p>The property datatypes are defined in the
org.apache.fop.datatypes package, except Number and String which are java
reasonable value for other accessor types. For example, a
SpaceProperty will return the optimum value if asked for a Length.</p>
</section>
- <section>
+ <section id="makers">
<title>Property Makers</title>
<p>The Property class contains a nested class called
<em>Maker</em>. This is the base class for all other property Makers. It
during the code generation phase by processing the XML property
description files.</p>
</section>
- <section>
+ <section id="attribute-list">
<title>Processing the attribute list</title>
<p>The PLB first looks to see if the font-size property is specified, since
it sets up relative units which can be used in other property
PLB looks to see if the attribute list also contains the "base" property
(space-before in this case) and processes that first.</p>
</section>
- <section>
+ <section id="maker-design">
<title>How the Property Maker works</title>
<p>There is a family of Maker objects for each of the property datatypes,
such as Length, Number, Enumerated, Space, etc. But since each Property
during layout. Expressions involving "em" units which are relative to
font-size _are_ resolved during the FO tree building however.</p>
</section>
- <section>
+ <section id="property-list-struct">
<title>Structure of the PropertyList</title>
<p>The PropertyList extends HashMap and its basic function is to associate
Property value objects with Property names. The Property objects are all
inherited or no value is found at any level, the initial value is
returned.</p>
</section>
- <section>
+ <section id="property-spec">
<title>XML property specification format</title>
- <section>
+ <section id="generic">
<title>Generic properties</title>
<p>In the properties xml files, one can define generic property
definitions which can serve as a basis for individual property
generated for those SVG properties which are not based on generic
classes defined in svg.</p>
</section>
- <section>
+ <section id="element-specific">
<title>Element-specific properties</title>
<p>Properties may be defined for all flow objects or only for
particular flow objects. A PropertyListBuilder object will always look
functionality if the same property is to be used in different sets of
element-specific mappings.</p>
</section>
- <section>
+ <section id="reference">
<title>Reference properties</title>
<p>A property element may have a type attribute with the value
<code>ref</code>. The
reference the defined FO properties. The generating mapping for the
SVG properties will use the FO Maker classes.</p>
</section>
- <section>
+ <section id="corresponding">
<title>Corresponding properties</title>
<p>Some properties have both <em>absolute</em> and
<em>writing-mode-relative</em> forms. In general, the absolute forms
than the "absolute" margin properties.</p>
</section>
</section>
- <section>
+ <section id="mapping">
<title>Mapping</title>
<p>The XSL script <code>propmap.xsl</code> is used to generate
property mappings based on
<p>The property generation also handles element-specific property
mappings as specified in the properties XML files.</p>
</section>
- <section>
+ <section id="enumerated">
<title>Enumerated values</title>
<p>For any property whose datatype is <code>Enum</code> or which
contains possible enumerated values, FOP code may need to access
these two constants. An example of a reference in code to the constant
is <code>KeepTogether.WithinPage.AUTO</code>.</p>
</section>
- <section>
+ <section id="compound">
<title>Compound property types</title>
<p>Some XSL FO properties are specified by compound datatypes. In the FO file,
these are defined by a group of attributes, each having a name of the