From: William Victor Mote Date: Tue, 22 Apr 2003 03:56:00 +0000 (+0000) Subject: Add
ids. X-Git-Tag: Root_Temp_KnuthStylePageBreaking~1571 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b9d324c54ea815622e668eca261dcd96b313ec45;p=xmlgraphics-fop.git Add
ids. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196311 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/documentation/content/xdocs/design/properties.xml b/src/documentation/content/xdocs/design/properties.xml index d0c50a66f..426cbd4dd 100644 --- a/src/documentation/content/xdocs/design/properties.xml +++ b/src/documentation/content/xdocs/design/properties.xml @@ -19,7 +19,7 @@ basic idea of the PLB is to handle each attribute in the list in turn, 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.

-
+
Property datatypes

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.

-
+
Property Makers

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.

-
+
Processing the attribute list

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.

-
+
How the Property Maker works

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.

-
+
Structure of the PropertyList

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.

-
+
XML property specification format -
+
Generic properties

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.

-
+
Element-specific properties

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.

-
+
Reference properties

A property element may have a type attribute with the value ref. The @@ -229,7 +229,7 @@ element-specific mappings.

reference the defined FO properties. The generating mapping for the SVG properties will use the FO Maker classes.

-
+
Corresponding properties

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.

-
+
Mapping

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.

-
+
Enumerated values

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.

-
+
Compound property types

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