From b9d324c54ea815622e668eca261dcd96b313ec45 Mon Sep 17 00:00:00 2001
From: William Victor Mote
The property datatypes are defined in the org.apache.fop.datatypes package, except Number and String which are java @@ -55,7 +55,7 @@ such as Length or ColorType. A subclass may also choose to return a reasonable value for other accessor types. For example, a SpaceProperty will return the optimum value if asked for a Length.
The Property class contains a nested class called Maker. This is the base class for all other property Makers. It @@ -83,7 +83,7 @@ Maker. The attribute name to Maker mappings are automatically created during the code generation phase by processing the XML property description files.
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 @@ -92,7 +92,7 @@ specifies part of a compound property such as space-before.optimum, the PLB looks to see if the attribute list also contains the "base" property (space-before in this case) and processes that first.
There is a family of Maker objects for each of the property datatypes, such as Length, Number, Enumerated, Space, etc. But since each Property @@ -126,7 +126,7 @@ These are stored as special kinds of Length objects which are evaluated during layout. Expressions involving "em" units which are relative to font-size _are_ resolved during the FO tree building however.
The PropertyList extends HashMap and its basic function is to associate Property value objects with Property names. The Property objects are all @@ -147,9 +147,9 @@ the PropertyList of the nearest ancestor FO.) If the property isn't inherited or no value is found at any level, the initial value is returned.
In the properties xml files, one can define generic property definitions which can serve as a basis for individual property @@ -196,7 +196,7 @@ svgproperties.xml, no specific classes are generated. Classes are only generated for those SVG properties which are not based on generic classes defined in svg.
Properties may be defined for all flow objects or only for particular flow objects. A PropertyListBuilder object will always look @@ -213,7 +213,7 @@ properties will hide the earlier ones! Use the ref functionality if the same property is to be used in different sets of element-specific mappings.
A property element may have a type attribute with the value
ref
. The
@@ -229,7 +229,7 @@ element-specific mappings.
Some properties have both absolute and writing-mode-relative forms. In general, the absolute forms @@ -253,7 +253,7 @@ attributes. However it does use start-indent and end-indent, rather than the "absolute" margin properties.
The XSL script propmap.xsl
is used to generate
property mappings based on
@@ -270,7 +270,7 @@ class, which returns an instance of its nested Maker class.
The property generation also handles element-specific property mappings as specified in the properties XML files.
For any property whose datatype is Enum
or which
contains possible enumerated values, FOP code may need to access
@@ -294,7 +294,7 @@ three nested interfaces, one for each component, and each defines
these two constants. An example of a reference in code to the constant
is KeepTogether.WithinPage.AUTO
.
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 -- 2.39.5