You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlgraphics.apache.org by bu...@apache.org on 2012/10/24 06:26:12 UTC

svn commit: r835978 [12/16] - in /websites/staging/xmlgraphics/trunk/content: ./ batik/ batik/dev/ batik/tools/ batik/using/ batik/using/scripting/ commons/ fop/ fop/0.95/ fop/1.0/ fop/1.1/ fop/dev/ fop/dev/design/ fop/trunk/

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/properties.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/properties.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/properties.html Wed Oct 24 04:26:06 2012
@@ -332,9 +332,9 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/design/">Design</a></div> -->
       	<div class="section-content"><h1 id="apache-fop-design-properties">Apache™ FOP Design: Properties</h1>
 <p><version>$Revision: 1298724 $</version><authors><person email="" name="Karen Lease"></person></authors></p>
-<h2 id="introduction-wzxhzdk6wzxhzdk7">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk6wzxhzdk7">Introduction <a id="intro"></a></h2>
 <p>As the input XSL-FO is being parsed and the FO Tree is being built, the attributes of the FO elements are passed by the parser to the related FO object. The java object that represent the FO object then converts the attributes into properties that are stored in the FO Tree.</p>
-<h2 id="issues-wzxhzdk8wzxhzdk9">Issues  <a id="issues"></a></h2>
+<h2 id="issues-wzxhzdk8wzxhzdk9">Issues <a id="issues"></a></h2>
 <p>The following are some issues when dealing with properties:</p>
 <ul>
 <li>
@@ -353,7 +353,7 @@ $(document).ready(function () {
 <p>Expressions: XSL-FO expressions can be included in properties.</p>
 </li>
 </ul>
-<h2 id="overview-of-processing-wzxhzdk10wzxhzdk11">Overview of Processing  <a id="process-overview"></a></h2>
+<h2 id="overview-of-processing-wzxhzdk10wzxhzdk11">Overview of Processing <a id="process-overview"></a></h2>
 <p>The general flow of property processing is as follows:</p>
 <ul>
 <li>
@@ -366,10 +366,10 @@ $(document).ready(function () {
 <p>FObj.handleAttrs then cross-references the returned PropertyList with the FObj, creates a PropertyManager to facilitate downstream processing of the PropertyList, and handles the special case of the writing-mode property.</p>
 </li>
 </ul>
-<h2 id="propertylistbuilder-wzxhzdk12wzxhzdk13">PropertyListBuilder  <a id="plb"></a></h2>
+<h2 id="propertylistbuilder-wzxhzdk12wzxhzdk13">PropertyListBuilder <a id="plb"></a></h2>
 <p>Each plb object contains a hash of property names and <em>their</em> respective Makers. It may also contain element-specific property maker hashes; these are based on the <em>local name</em> of the flow object, ie. <em>table-row</em> , not <em>fo:table-row</em> . If an element-specific property mapping exists, it is preferred to the generic mapping.</p>
 <p>The PLB loops through each attribute in the list, finds an appropriate "Maker" for it, then calls the Maker to convert the attribute value into a Property object of the correct type, and stores that Property in the PropertyList.</p>
-<h2 id="property-datatypes-wzxhzdk14wzxhzdk15">Property datatypes  <a id="datatypes"></a></h2>
+<h2 id="property-datatypes-wzxhzdk14wzxhzdk15">Property datatypes <a id="datatypes"></a></h2>
 <p>The property datatypes are defined in the org.apache.fop.datatypes package, except Number and String which are java primitives. The FOP datatypes are:</p>
 <ul>
 <li>
@@ -400,27 +400,27 @@ $(document).ready(function () {
 <p>The <em>org.apache.fop.fo.Property</em> class is the superclass for all Property subclasses. There is a subclass for each kind of property datatype. These are named using the datatype name plus the word Property, resulting in NumberProperty, StringProperty, and so on. There is also a class EnumProperty which uses an <code>int</code> primitive to hold enumerated values. There is no corresponding Enum datatype class.</p>
 <p>The Property class provides a "wrapper" around any possible property value. Code manipulating property values (in layout for example) usually knows what kind (or kinds) of datatypes are acceptable for a given property and will use the appropriate accessor.</p>
 <p>The base Property class defines accessor methods for all FO property datatypes, such as getNumber(), getColorType(), getSpace(), getEnum(), etc. It doesn't define accessors for SVG types, since these are handled separately (at least for now.) In the base Property class, all of these methods return null, except getEnum which returns 0. Individual subclasses return a value of the appropriate type, 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.</p>
-<h2 id="property-makers-wzxhzdk16wzxhzdk17">Property Makers  <a id="makers"></a></h2>
+<h2 id="property-makers-wzxhzdk16wzxhzdk17">Property Makers <a id="makers"></a></h2>
 <p>The Property class contains a nested class called <em>Maker</em> . This is the base class for all other property Makers. It provides basic framework functionality which is overridden by the code generated by properties.xsl from the *properties.xml files. In particular it provides basic expression evaluation, using PropertyParser class in the org.apache.fop.fo.expr package.</p>
 <p>Other Property subclasses such as LengthProperty define their own nested Maker classes (subclasses of Property.Maker). These handle conversion from the Property subclass returned from expression evaluation into the appropriate subclass for the property.</p>
 <p>For each generic or specific property definition in the properties.xml files, a new subclass of one of the Maker classes is created. Note that no new Property subclasses are created, only new PropertyMaker subclasses. Once the property value has been parsed and stored, it has no specific functionality. Only the Maker code is specific. Maker subclasses define such aspects as keyword substitutions, whether the property can be inherited or not, which enumerated values are legal, default values, corresponding properties and specific datatype conversions.</p>
 <p>The PLB finds a "Maker" for the property based on the attribute name and the element name. Most Makers are generic and handle the attribute on any element, but it's possible to set up an element-specific property Maker. The attribute name to Maker mappings are automatically created during the code generation phase by processing the XML property description files.</p>
-<h2 id="processing-the-attribute-list-wzxhzdk18wzxhzdk19">Processing the attribute list  <a id="attribute-list"></a></h2>
+<h2 id="processing-the-attribute-list-wzxhzdk18wzxhzdk19">Processing the attribute list <a id="attribute-list"></a></h2>
 <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 specifications. Each attribute is then handled in turn. If the attribute 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.</p>
-<h2 id="how-the-property-maker-works-wzxhzdk20wzxhzdk21">How the Property Maker works  <a id="maker-design"></a></h2>
+<h2 id="how-the-property-maker-works-wzxhzdk20wzxhzdk21">How the Property Maker works <a id="maker-design"></a></h2>
 <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 has specific aspects such as whether it's inherited, its default value, its corresponding properties, etc. there is usually a specific Maker for each Property. All these Maker classes are created during the code generation phase by processing (using XSLT) the XML property description files to create Java classes.</p>
 <p>The Maker first checks for "keyword" values for a property. These are things like "thin, medium, thick" for the border-width property. The datatype is really a Length but it can be specified using these keywords whose actual value is determined by the "User Agent" rather than being specified in the XSL standard. For FOP, these values are currently defined in foproperties.xml. The keyword value is just a string, so it still needs to be parsed as described next.</p>
 <p>The Maker also checks to see if the property is an Enumerated type and then checks whether the value matches one of the specified enumeration values.</p>
 <p>Otherwise the Maker uses the property parser in the fo.expr package to evaluate the attribute value and return a Property object. The parser interprets the expression language and performs numeric operations and function call evaluations.</p>
 <p>If the returned Property value is of the correct type (specificed in foproperties.xml, where else?), the Maker returns it. Otherwise, it may be able to convert the returned type into the correct type.</p>
 <p>Some kinds of property values can't be fully resolved during FO tree building because they depend on layout information. This is the case of length values specified as percentages and of the special proportional-column-width(x) specification for table-column widths. These are stored as special kinds of Length objects which are evaluated during layout. Expressions involving "em" units which are relative to font-size <em>are</em> resolved during the FO tree building however.</p>
-<h2 id="structure-of-the-propertylist-wzxhzdk22wzxhzdk23">Structure of the PropertyList  <a id="property-list-struct"></a></h2>
+<h2 id="structure-of-the-propertylist-wzxhzdk22wzxhzdk23">Structure of the PropertyList <a id="property-list-struct"></a></h2>
 <p>The PropertyList extends HashMap and its basic function is to associate Property value objects with Property names. The Property objects are all subclasses of the base Property class. Each one simply contains a reference to one of the property datatype objects. Property provides accessors for all known datatypes and various subclasses override the accessor(s) which are reasonable for the datatype they store.</p>
 <p>The PropertyList itself provides various ways of looking up Property values to handle such issues as inheritance and corresponding properties.</p>
 <p>The main logic is:<br></br>If the property is a writing-mode relative property (using start, end, before or after in its name), the corresponding absolute property value is returned if it's explicitly set on this FO.<br></br>Otherwise, the writing-mode relative value is returned if it's explicitly set. If the property is inherited, the process repeats using the PropertyList of the FO's parent object. (This is easy because each PropertyList points to 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.</p>
-<h2 id="implementing-standard-properties-wzxhzdk28wzxhzdk29">Implementing Standard Properties  <a id="property-spec"></a></h2>
+<h2 id="implementing-standard-properties-wzxhzdk28wzxhzdk29">Implementing Standard Properties <a id="property-spec"></a></h2>
 <p>Because the properties defined in the standard are basically static, FOP currently builds the source code for the related Property classes from an XML data file. All properties are specified in src/codegen/foproperties.xml. The related classes are created automatically during the build process by applying an XSLT stylesheet to the foproperties.xml file.</p>
-<h3 id="generic-properties-wzxhzdk30wzxhzdk31">Generic properties # <a id="generic"></a></h3>
+<h3 id="generic-properties-wzxhzdk30wzxhzdk31">Generic properties <a id="generic"></a></h3>
 <p>In the properties xml files, one can define generic property definitions which can serve as a basis for individual property definitions. There are currently several generic properties defined in foproperties.xml. An example is GenericColor, which defines basic properties for all ColorType properties. Since the generic specification doesn't include the inherited or default elements, these should be set in each property which is based on GenericColor. Here is an example:</p>
 <p><code>&lt;property type='generic'&gt;
     &lt;name&gt;background-color&lt;/name&gt;
@@ -434,23 +434,23 @@ $(document).ready(function () {
 <p>When a property includes a "use-generic" element and includes no other elements (except the "name" element), then no class is generated for the property. Instead the generated mapping will associate this property directly with an instance of the generic Maker.</p>
 <p>A generic class may also be hand-coded, rather than generated from the properties file. Properties based on such a generic class are indicated by the attribute <code>ispropclass='true'</code> on the <em>use-generic</em> element.</p>
 <p>This is illustrated by the SVG properties, most of which use one of the Property subclasses defined in the <em>org.apache.fop.svg</em> package. Although all of these properties are now declared in 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.</p>
-<h3 id="element-specific-properties-wzxhzdk32wzxhzdk33">Element-specific properties # <a id="element-specific"></a></h3>
+<h3 id="element-specific-properties-wzxhzdk32wzxhzdk33">Element-specific properties <a id="element-specific"></a></h3>
 <p>Properties may be defined for all flow objects or only for particular flow objects. A PropertyListBuilder object will always look first for a Property.Maker for the flow object before looking in the general list. These are specified in the <code>element-property-list</code> section of the properties.xml files. The <code>localname</code> element children of this element specify for which flow-object elements the property should be registered.</p>
 <p><em>NOTE</em> : All the properties for an object or set of objects must be specified in a single element-property-list element. If the same localname appears in several element lists, the later set of properties will hide the earlier ones! Use the <em>ref</em> functionality if the same property is to be used in different sets of element-specific mappings.</p>
-<h3 id="reference-properties-wzxhzdk34wzxhzdk35">Reference properties # <a id="reference"></a></h3>
+<h3 id="reference-properties-wzxhzdk34wzxhzdk35">Reference properties <a id="reference"></a></h3>
 <p>A property element may have a type attribute with the value <code>ref</code> . The content of the <em>name</em> child element is the name of the referenced property (not its class-name!). This indicates that the property specification has already been given, either in this same specification file or in a different one (indicated by the <code>family</code> attribute). The value of the family attribute is <em>XX</em> where the file <em>XXproperties.xml</em> defines the referenced property. For example, some SVG objects may have properties defined for FO. Rather than defining them again with a new name, the SVG properties simply reference the defined FO properties. The generating mapping for the SVG properties will use the FO Maker classes.</p>
-<h3 id="corresponding-properties-wzxhzdk36wzxhzdk37">Corresponding properties # <a id="corresponding"></a></h3>
+<h3 id="corresponding-properties-wzxhzdk36wzxhzdk37">Corresponding properties <a id="corresponding"></a></h3>
 <p>Some properties have both <em>absolute</em> and <em>writing-mode-relative</em> forms. In general, the absolute forms are equivalent to CSS properties, and the writing-mode-relative forms are based on DSSSL. FO files may use either or both forms. In FOP code, a request for an absolute form will retrieve that value if it was specified on the FO; otherwise the corresponding relative property will be used if it was specified. However, a request for a relative form will only use the specified relative value if the corresponding absolute value was <em>not</em> specified for that FO.</p>
 <p>Corresponding properties are specified in the properties.xml files using the element <code>corresponding</code> , which has at least one <code>propval</code> child and may have a <code>propexpr</code> child, if the corresponding value is calculated based on several other properties, as for <code>start-indent</code> .</p>
 <p><em>NOTE</em> : most current FOP code accesses the absolute variants of these properties, notably for padding, border, height and width attributes. However it does use start-indent and end-indent, rather than the "absolute" margin properties.</p>
-<h2 id="mapping-wzxhzdk38wzxhzdk39">Mapping  <a id="mapping"></a></h2>
+<h2 id="mapping-wzxhzdk38wzxhzdk39">Mapping <a id="mapping"></a></h2>
 <p>The XSL script <code>propmap.xsl</code> is used to generate property mappings based on both foproperties.xml and svgproperties.xml. The mapping classes in the main fop packages simply load these automatically generated mappings. The mapping code still uses the static "maker" function of the generated object to obtain a Maker object. However, for all generated classes, this method returns an instance of the class itself (which is a subclass of Property.Maker) and not an instance of a separate nested Maker class.</p>
 <p>For most SVG properties which use the SVG Property classes directly, the generated mapper code calls the "maker" method of the SVG Property class, which returns an instance of its nested Maker class.</p>
 <p>The property generation also handles element-specific property mappings as specified in the properties XML files.</p>
-<h2 id="enumerated-values-wzxhzdk40wzxhzdk41">Enumerated values  <a id="enumerated"></a></h2>
+<h2 id="enumerated-values-wzxhzdk40wzxhzdk41">Enumerated values <a id="enumerated"></a></h2>
 <p>For any property whose datatype is <code>Enum</code> or which contains possible enumerated values, FOP code may need to access enumeration constants. These are defined in the interfaces whose name is the same as the generated class name for the property, for example <code>BorderBeforeStyle.NONE</code> . These interface classes are generated by the XSL script <code>enumgen.xsl</code> . A separate interface defining the enumeration constants is always generated for every property which uses the constants, even if the constants themselves are defined in a generic class, as in BorderStyle.</p>
 <p>If a subproperty or component of a compound property has enumerated values, the constants are defined in a nested interface whose name is the name of the subproperty (using appropriate capitalization rules). For example, the keep properties may have values of AUTO or FORCE or an integer value. These are defined for each kind of keep property. For example, the keep-together property is a compound property with the components within-line, within-column and within-page. Since each component may have the values AUTO or FORCE, the KeepTogether interface defines three nested interfaces, one for each component, and each defines these two constants. An example of a reference in code to the constant is <code>KeepTogether.WithinPage.AUTO</code> .</p>
-<h2 id="compound-property-types-wzxhzdk42wzxhzdk43">Compound property types  <a id="compound"></a></h2>
+<h2 id="compound-property-types-wzxhzdk42wzxhzdk43">Compound property types <a id="compound"></a></h2>
 <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 form <code>property.component</code> , for example <code>space-before.minimum</code> . These are several compound datatypes:</p>
 <ul>
 <li>
@@ -468,9 +468,9 @@ $(document).ready(function () {
 </ul>
 <p>These are described in the properties.xml files using the element <code>compound</code> which has <code>subproperty</code> children. A subproperty element is much like a property element, although it may not have an <code>inherited</code> child element, as only a complete property object may be inherited.</p>
 <p>Specific datatype classes exist for each compound property. Each component of a compound datatype is itself stored as a Property object. Individual components may be accessed either by directly performing a get operation on the name, using the "dot" notation, eg. <code>get("space-before.optimum")</code> ; or by using an accessor on the compound property, eg. <code>get("space-before").getOptimum()</code> . In either case, the result is a Property object, and the actual value may be accessed (in this example) by using the "getLength()" accessor.</p>
-<h2 id="refinement-wzxhzdk44wzxhzdk45">Refinement  <a id="refine"></a></h2>
+<h2 id="refinement-wzxhzdk44wzxhzdk45">Refinement <a id="refine"></a></h2>
 <p>The <strong>Refinement</strong> step is part of reading and using the properties which may happen immediately or during the layout process. FOP does not currently use a separate Refinement process, but tends to handle refining steps as the FO Tree is built.</p>
-<h2 id="refined-fo-tree-wzxhzdk46wzxhzdk47">Refined FO Tree  <a id="refined-fo-tree"></a></h2>
+<h2 id="refined-fo-tree-wzxhzdk46wzxhzdk47">Refined FO Tree <a id="refined-fo-tree"></a></h2>
 <p>The Refined FO Tree is the result of the Refinement process.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/renderers.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/renderers.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/renderers.html Wed Oct 24 04:26:06 2012
@@ -332,25 +332,25 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/design/">Design</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-design-renderers">Apache&trade; FOP Design: Renderers</h1>
 <p><version>$Revision: 1298724 $</version><authors><person email="keiron@aftexsw.com" name="Keiron Liddle"></person></authors></p>
-<h2 id="introduction-wzxhzdk7wzxhzdk8">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk7wzxhzdk8">Introduction <a id="intro"></a></h2>
 <p>A renderer is primarily designed to convert a given area tree into the output document format. It should be able to produce pages and fill the pages with the text and graphical content. Usually the output is sent to an output stream.</p>
 <p>Some output formats may support extra information that is not available from the area tree or depends on the destination of the document.</p>
 <p>Each renderer is given an area tree to render to its output format. The area tree is simply a representation of the pages and the placement of text and graphical objects on those pages.</p>
 <p>The renderer will be given each page as it is ready and an output stream to write the data out. All pages are supplied in the order they appear in the document. In order to save memory it is possble to render the pages out of order. Any page that is not ready to be rendered is setup by the renderer first so that it can reserve a space or reference for when the page is ready to be rendered.The renderer is responsible for managing the output format and associated data and flow.</p>
-<h2 id="design-issues-wzxhzdk9wzxhzdk10">Design Issues  <a id="issues"></a></h2>
-<h3 id="renderers-are-responsible-wzxhzdk11wzxhzdk12">Renderers are Responsible # <a id="issue-renderers-responsible"></a></h3>
+<h2 id="design-issues-wzxhzdk9wzxhzdk10">Design Issues <a id="issues"></a></h2>
+<h3 id="renderers-are-responsible-wzxhzdk11wzxhzdk12">Renderers are Responsible <a id="issue-renderers-responsible"></a></h3>
 <p>Each renderer is totally responsible for its output format.</p>
-<h3 id="send-output-to-a-stream-wzxhzdk13wzxhzdk14">Send Output to a Stream # <a id="issue-output-stream"></a></h3>
-<h2 id="fonts-wzxhzdk15wzxhzdk16">Fonts  <a id="fonts"></a></h2>
+<h3 id="send-output-to-a-stream-wzxhzdk13wzxhzdk14">Send Output to a Stream <a id="issue-output-stream"></a></h3>
+<h2 id="fonts-wzxhzdk15wzxhzdk16">Fonts <a id="fonts"></a></h2>
 <p>Because font metrics (and therefore layout) are obtained in two different ways depending on the renderer, the renderer actually sets up the fonts being used. The font metrics are used during the layout process to determine the size of characters.</p>
-<h2 id="render-context-wzxhzdk17wzxhzdk18">Render Context  <a id="context"></a></h2>
+<h2 id="render-context-wzxhzdk17wzxhzdk18">Render Context <a id="context"></a></h2>
 <p>The render context is used by handlers. It contains information about the current state of the renderer, such as the page, the position, and any other miscellanous objects that are required to draw into the page.</p>
-<h2 id="xml-handling-wzxhzdk19wzxhzdk20">XML Handling  <a id="XML+Handling"></a></h2>
+<h2 id="xml-handling-wzxhzdk19wzxhzdk20">XML Handling <a id="XML+Handling"></a></h2>
 <p>A document may contain information in the form of XML for an image or instream foreign object. This XML is handled through the user agent. A standard extension for PDF is the SVG handler.</p>
 <p>If there is XML in the SVG namespace it is given to the handler which renders the SVG into the pdf document at the given location. This separation means that other XML handlers can easily be added.</p>
-<h2 id="extensions-wzxhzdk21wzxhzdk22">Extensions  <a id="Extensions"></a></h2>
+<h2 id="extensions-wzxhzdk21wzxhzdk22">Extensions <a id="Extensions"></a></h2>
 <p>Document level extensions are handled with an extension handler. This handles the information from the AreaTree and adds renders it to the document. An example is the pdf bookmarks. This information first needs to have all references resolved. Then the extension handler is ready to put the information into the pdf document.</p>
-<h2 id="renderer-implementations-wzxhzdk23wzxhzdk24">Renderer Implementations  <a id="implement"></a></h2>
+<h2 id="renderer-implementations-wzxhzdk23wzxhzdk24">Renderer Implementations <a id="implement"></a></h2>
 <table>
 <thead>
 <tr>
@@ -445,7 +445,7 @@ $(document).ready(function () {
 </tr>
 </tbody>
 </table>
-<h2 id="adding-a-renderer-wzxhzdk25wzxhzdk26">Adding a Renderer  <a id="add"></a></h2>
+<h2 id="adding-a-renderer-wzxhzdk25wzxhzdk26">Adding a Renderer <a id="add"></a></h2>
 <p>You can add other renderers by implementing the Renderer interface. However, the AbstractRenderer does most of what is needed, including iterating through the tree parts, so it is probably better to extend this. This means that you only need to implement the basic functionality such as text, images, and lines. AbstractRenderer's methods can easily be overridden to handle things in a different way or do some extra processing.</p>
 <p>The relevent AreaTree structures that will need to be rendered are:</p>
 <ul>
@@ -486,12 +486,12 @@ $(document).ready(function () {
 <p>draw various lines and rectangles</p>
 </li>
 </ul>
-<h2 id="multiple-renderers-wzxhzdk27wzxhzdk28">Multiple Renderers  <a id="multiple"></a></h2>
+<h2 id="multiple-renderers-wzxhzdk27wzxhzdk28">Multiple Renderers <a id="multiple"></a></h2>
 <p>The layout of the document depends mainly on the font being used. If two renderers have the same font metrics then it is possible to use the same Area Tree to render both. This can be handled by the AreaTree Handler.</p>
-<h2 id="status-wzxhzdk29wzxhzdk30">Status  <a id="status"></a></h2>
-<h3 id="to-do-wzxhzdk31wzxhzdk32">To Do # <a id="status-todo"></a></h3>
-<h3 id="work-in-progress-wzxhzdk33wzxhzdk34">Work In Progress # <a id="status-wip"></a></h3>
-<h3 id="completed-wzxhzdk35wzxhzdk36">Completed # <a id="status-complete"></a></h3>
+<h2 id="status-wzxhzdk29wzxhzdk30">Status <a id="status"></a></h2>
+<h3 id="to-do-wzxhzdk31wzxhzdk32">To Do <a id="status-todo"></a></h3>
+<h3 id="work-in-progress-wzxhzdk33wzxhzdk34">Work In Progress <a id="status-wip"></a></h3>
+<h3 id="completed-wzxhzdk35wzxhzdk36">Completed <a id="status-complete"></a></h3>
 <ul>
 <li>
 <p>new renderer model</p>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/startup.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/startup.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/startup.html Wed Oct 24 04:26:06 2012
@@ -332,10 +332,10 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/design/">Design</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-design-startup-environment-control">Apache&trade; FOP Design: Startup, Environment, Control</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction <a id="intro"></a></h2>
 <p>Startup is the process of getting Apache&trade; FOP bootstrapped and creating basic objects. Environment includes acquiring user options, instantiating any frameworks, setting up logging, etc. Control includes the basic logic for tieing the various subsystems together properly.</p>
-<h2 id="status-wzxhzdk6wzxhzdk7">Status  <a id="status"></a></h2>
-<h3 id="to-do-wzxhzdk8wzxhzdk9">To Do # <a id="status-todo"></a></h3>
+<h2 id="status-wzxhzdk6wzxhzdk7">Status <a id="status"></a></h2>
+<h3 id="to-do-wzxhzdk8wzxhzdk9">To Do <a id="status-todo"></a></h3>
 <ul>
 <li>
 <p>avalon integration - logging, configuration, component management, caching, uri resolver</p>
@@ -355,8 +355,8 @@ $(document).ready(function () {
 <p>better commandline handling</p>
 </li>
 </ul>
-<h3 id="work-in-progress-wzxhzdk10wzxhzdk11">Work In Progress # <a id="status-wip"></a></h3>
-<h3 id="completed-wzxhzdk12wzxhzdk13">Completed # <a id="status-complete"></a></h3>
+<h3 id="work-in-progress-wzxhzdk10wzxhzdk11">Work In Progress <a id="status-wip"></a></h3>
+<h3 id="completed-wzxhzdk12wzxhzdk13">Completed <a id="status-complete"></a></h3>
 <ul>
 <li><strong>better image handling</strong> - redone so it can use a cache and synchronizes properly only on the current image while loading</li>
 </ul></div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/svg.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/svg.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/svg.html Wed Oct 24 04:26:06 2012
@@ -332,27 +332,27 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/design/">Design</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-design-svg">Apache&trade; FOP Design: SVG</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction <a id="intro"></a></h2>
 <p>SVG is rendered through Apache&trade; Batik.</p>
 <p>The XML from the XSL:FO document is converted into an SVG DOM with batik. This DOM is then set as the Document on the Foreign Object area in the Area Tree.</p>
 <p>This DOM is then available to be rendered by the renderer.</p>
 <p>SVG is rendered in the renderers via an XMLHandler in the FOUserAgent. This XML handler is used to render the SVG. The SVG is rendered by using batik. Batik converts the SVG DOM into an internal structure that can be drawn into a Graphics2D. So for PDF we use a PDFGraphics2D to draw into.</p>
 <p>This creates the necessary PDF information to create the SVG image in the PDF document.</p>
 <p>Most of the work is done in the PDFGraphics2D class. There are also a few bridges that are plugged into batik to provide different behaviour for some SVG elements.</p>
-<h2 id="text-drawing-wzxhzdk6wzxhzdk7">Text Drawing  <a id="Text+Drawing"></a></h2>
+<h2 id="text-drawing-wzxhzdk6wzxhzdk7">Text Drawing <a id="Text+Drawing"></a></h2>
 <p>Normally batik converts text into a set of curved shapes.</p>
 <p>This is handled as any other shapes when rendering to the output. This is not always desirable as the shapes have very fine curves. This can cause the output to look a bit bad in PDF and PS (it can be drawn properly but is not by default). These curves also require much more data than the original text.</p>
 <p>To handle this there is a PDFTextElementBridge that is set when using the bridge in batik. If the text is simple enough for the text to be drawn in the PDF as with all other text then this sets the TextPainter to use the PDFTextPainter. This inserts the text directly into the PDF using the drawString method on the PDFGraphics2D.</p>
 <p>Text is considered simple if the font is available, the font size is useable and there are no tspans or other complications. This can make the resulting PDF significantly smaller.</p>
-<h2 id="pdf-links-wzxhzdk8wzxhzdk9">PDF Links  <a id="PDF+Links"></a></h2>
+<h2 id="pdf-links-wzxhzdk8wzxhzdk9">PDF Links <a id="PDF+Links"></a></h2>
 <p>To support links in PDF another batik element bridge is used. The PDFAElementBridge creates a PDFANode which inserts a link into the PDF document via the PDFGraphics2D.</p>
 <p>Since links are positioned on the page without any transforms then we need to transform the coordinates of the link area so that they match the current position of the a element area. This transform may also need to account for the svg being positioned on the page.</p>
-<h2 id="images-wzxhzdk10wzxhzdk11">Images  <a id="Images"></a></h2>
+<h2 id="images-wzxhzdk10wzxhzdk11">Images <a id="Images"></a></h2>
 <p>Images are normally drawn into the PDFGraphics2D. This then creates a bitmap of the image data that can be inserted into the PDF document.</p>
 <p>As PDF can support jpeg images then another element bridge is used so that the jpeg can be directly inserted into the PDF.</p>
-<h2 id="pdf-transcoder-wzxhzdk12wzxhzdk13">PDF Transcoder  <a id="PDF+Transcoder"></a></h2>
+<h2 id="pdf-transcoder-wzxhzdk12wzxhzdk13">PDF Transcoder <a id="PDF+Transcoder"></a></h2>
 <p>Batik provides a mechanism to convert SVG into various formats. Through FOP we can convert an SVG document into a single paged PDF document. The page contains the SVG drawn as best as possible on the page. There is a PDFDocumentGraphics2D that creates a standalone PDF document with a single page. This is then drawn into by batik in the same way as with the PDFGraphics2D.</p>
-<h2 id="other-outputs-wzxhzdk14wzxhzdk15">Other Outputs  <a id="Other+Outputs"></a></h2>
+<h2 id="other-outputs-wzxhzdk14wzxhzdk15">Other Outputs <a id="Other+Outputs"></a></h2>
 <p>When rendering to AWT the SVG is simply drawn onto the awt canvas using batik.</p>
 <p>The PS Renderer uses a similar technique as the PDF Renderer.</p>
 <p>The SVG Renderer simply embeds the SVG inside an svg element.</p></div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/design/useragent.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/design/useragent.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/design/useragent.html Wed Oct 24 04:26:06 2012
@@ -332,7 +332,7 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/design/">Design</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-design-user-agent">Apache&trade; FOP Design: User Agent</h1>
 <p><version>$Revision: 1298724 $</version><authors><person email="keiron@aftexsw.com" name="Keiron Liddle"></person></authors></p>
-<h2 id="introduction-wzxhzdk7wzxhzdk8">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk7wzxhzdk8">Introduction <a id="intro"></a></h2>
 <p>Technically the user agent is Apache&trade; FOP in the role of determining the output format and when resolving various attributes. The user agent is represented by a class that is available to others to specify how FOP should behave.</p>
 <p>The user agent is used by the formatting process to determine certain user definable values.</p>
 <p>It will enable the customisation of values for generating and rendering the document.</p>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/doc.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/doc.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/doc.html Wed Oct 24 04:26:06 2012
@@ -332,13 +332,13 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-managing-documentation">Apache&trade; FOP Development: Managing Documentation</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="general-information-wzxhzdk3wzxhzdk4">General Information  <a id="general"></a></h2>
+<h2 id="general-information-wzxhzdk3wzxhzdk4">General Information <a id="general"></a></h2>
 <p>All raw documentation content is managed in the Apache&trade; FOP SVN repository. Updates should be committed to the repository, then the repository files are used to generate usable output. The remaining discussions on this page assume that the SVN repository is the starting place for processing. The path to the documentation is src/documentation/content/xdocs.
 All documentation is maintained on the trunk.
 Basic documents are stored in XML files, and use DTDs provided by Apache Forrest.</p>
-<h2 id="design-principles-wzxhzdk6wzxhzdk7">Design Principles  <a id="design"></a></h2>
+<h2 id="design-principles-wzxhzdk6wzxhzdk7">Design Principles <a id="design"></a></h2>
 <p>These principles are not written in stone, but reflect the current philosophy, and are documented here primarily to help achieve consistency. These principles should be changed if better or more practical ones are found, but they should probably be discussed and changed by common consent.</p>
-<h3 id="where-wzxhzdk8wzxhzdk9">Where # <a id="where"></a></h3>
+<h3 id="where-wzxhzdk8wzxhzdk9">Where <a id="where"></a></h3>
 <ul>
 <li>
 <p>To the extent possible, keep user content separate from developer content, primarily so the user doesn't have to filter out technical information.</p>
@@ -347,11 +347,11 @@ Basic documents are stored in XML files,
 <p>To the extent possible, try to document a topic exactly once, in the place the user is most likely to look for it, then link to that from other locations as appropriate. This is somewhat contrary to the principle above, which should be applied as a higher priority.</p>
 </li>
 </ul>
-<h3 id="when-wzxhzdk10wzxhzdk11">When # <a id="design-when"></a></h3>
+<h3 id="when-wzxhzdk10wzxhzdk11">When <a id="design-when"></a></h3>
 <p>The documentation and the product are in a constant state of change, and there is some difficulty in deciding what product state the website content should reflect. The current thinking is that the website should reflect the current state of the repository code branch from which releases are made. Features or other documentation that applies to unreleased code should be marked in such a way within the content that the user can determine whether and how it applies to the version they are using. For example, "Feature xyz is first available in Release n.nn.n".</p>
 <p>Other approaches were considered, but all seemed to have significantly higher costs both to the users and the developers. From the user's standpoint, the choice is either that they potentially have to look multiple places to get the information they need (which was rejected), or they have to filter out an occasional feature that is in code available subsequent to their release (which was accepted).</p>
-<h2 id="website-wzxhzdk12wzxhzdk13">Website  <a id="web"></a></h2>
-<h3 id="background-wzxhzdk14wzxhzdk15">Background # <a id="web-background"></a></h3>
+<h2 id="website-wzxhzdk12wzxhzdk13">Website <a id="web"></a></h2>
+<h3 id="background-wzxhzdk14wzxhzdk15">Background <a id="web-background"></a></h3>
 <p>The FOP web site and documentation are generated using <a href="http://forrest.apache.org">Apache Forrest</a> .</p>
 <p>The following table summarizes the flow of data to the FOP website in chronological order:</p>
 <table>
@@ -389,7 +389,7 @@ Basic documents are stored in XML files,
 <td></td>
 </tr>
 <tr>
-<td>## ForrestBot "publish" Step-by-Step # <a id="web-forrestbot-publish"></a></td>
+<td>## ForrestBot "publish" Step-by-Step <a id="web-forrestbot-publish"></a></td>
 <td></td>
 <td></td>
 <td></td>
@@ -413,7 +413,7 @@ Please make sure you use Forrest from th
 </li>
 </ul>
 <p>The reason for putting the generated website in the SVN repository: The infrastructure people want to be able to restore the websites themselves in case of a crash.</p>
-<h3 id="using-a-local-forrest-wzxhzdk16wzxhzdk17">Using a Local Forrest # <a id="web-local-forrest"></a></h3>
+<h3 id="using-a-local-forrest-wzxhzdk16wzxhzdk17">Using a Local Forrest <a id="web-local-forrest"></a></h3>
 <p>To use a local Forrest (during website development, not for deployment):</p>
 <ul>
 <li>
@@ -436,10 +436,10 @@ Please make sure you use Forrest from th
 You can use "forrest run" to start a local web server. That improves development speed as you can simply refresh in the browser after a change.</p>
 </li>
 </ul>
-<h2 id="updating-distribution-files-wzxhzdk18wzxhzdk19">Updating Distribution Files # <a id="distribution"></a></h2>
+<h2 id="updating-distribution-files-wzxhzdk18wzxhzdk19">Updating Distribution Files <a id="distribution"></a></h2>
 <p>The Apache distribution system mirrors distributions around the world. Since it uses <a href="http://httpd.apache.org/">Apache httpd</a> Module <a href="http://httpd.apache.org/docs/2.2/mod/mod_autoindex.html#headername">mod_autoindex</a> you also need to manually update the HEADER.html &amp; READER.html files on <code>people.apache.org</code> in <code>/www/www.apache.org/dist/xmlgraphics/fop/</code> .</p>
 <p>Please be careful when doing stuff like that.</p>
-<h3 id="deleting-documentation-files-wzxhzdk20wzxhzdk21">Deleting Documentation Files # <a id="delete"></a></h3>
+<h3 id="deleting-documentation-files-wzxhzdk20wzxhzdk21">Deleting Documentation Files <a id="delete"></a></h3>
 <p>ForrestBot simply uploads the whole generated site. It doesn't delete obsolete files. You can do that manually in the /www/xmlgraphics.apache.org/fop folder on cvs.apache.org. Be careful when doing stuff like that.
 Please make sure you always have <strong>group rw permissions on all files</strong> under the /www directory!</p></div>
       </div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/extensions.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/extensions.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/extensions.html Wed Oct 24 04:26:06 2012
@@ -332,7 +332,7 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-adding-an-extension">Apache&trade; FOP Development: Adding an Extension</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="overview-wzxhzdk3wzxhzdk4">Overview  <a id="overview"></a></h2>
+<h2 id="overview-wzxhzdk3wzxhzdk4">Overview <a id="overview"></a></h2>
 <p>For documentation of standard Apache&trade; FOP extensions, see the <a href="../trunk/extensions.html">User FOP Extensions</a> document.</p>
 <p>If the default funtionality of FOP needs to be extended for some reason then you can write an extension.</p>
 <p>There are three types of extensions possible:</p>
@@ -347,7 +347,7 @@ $(document).ready(function () {
 <p>an fo extension that creates an area in the area tree where normal xsl:fo is not possible</p>
 </li>
 </ul>
-<h2 id="adding-your-own-wzxhzdk6wzxhzdk7">Adding Your Own  <a id="adding"></a></h2>
+<h2 id="adding-your-own-wzxhzdk6wzxhzdk7">Adding Your Own <a id="adding"></a></h2>
 <p>To add your own extension you need to do the following things.</p>
 <ol>
 <li>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/faq.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/faq.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/faq.html Wed Oct 24 04:26:06 2012
@@ -331,8 +331,8 @@ $(document).ready(function () {
       <div id="content" class="grid_16">
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apache-fop-development-faq">Apache™ FOP Development: FAQ</h1>
-<h2 id="questions-wzxhzdk0wzxhzdk1">Questions  <a id="Questions"></a></h2>
-<h3 id="1-general-questions-wzxhzdk2wzxhzdk3">1. General Questions # <a id="part_general"></a></h3>
+<h2 id="questions-wzxhzdk0wzxhzdk1">Questions <a id="Questions"></a></h2>
+<h3 id="1-general-questions-wzxhzdk2wzxhzdk3">1. General Questions <a id="part_general"></a></h3>
 <h4 id="11-how-can-i-contribute-wzxhzdk4wzxhzdk5">1.1. How can I contribute? ## <a id="faq-N1000D"></a></h4>
 <p>There are many ways that you can help:</p>
 <ul>
@@ -349,12 +349,12 @@ $(document).ready(function () {
 <p>You can help us document FOP better.</p>
 </li>
 </ul>
-<h3 id="2-documentation-wzxhzdk6wzxhzdk7">2. Documentation # <a id="part_documentation"></a></h3>
+<h3 id="2-documentation-wzxhzdk6wzxhzdk7">2. Documentation <a id="part_documentation"></a></h3>
 <h4 id="21-how-do-i-get-the-javadocs-for-fop-wzxhzdk8wzxhzdk9">2.1. How do I get the javadocs for FOP? ## <a id="javadoc_location"></a></h4>
 <p>Currently, the only way to get FOP javadocs is to <a href="../download.html">Download the source code</a> and then <a href="../trunk/compiling.html">Build FOP</a> using the ant build task "javadocs".</p>
 <h4 id="22-where-can-i-learn-how-the-fop-docs-and-web-site-are-built-wzxhzdk10wzxhzdk11">2.2. Where can I learn how the FOP docs and web site are built? ## <a id="doc-mgt"></a></h4>
 <p>See FOP <a href="doc.html">Doc Management</a> . ;-)</p>
-<h3 id="3-further-help-wzxhzdk12wzxhzdk13">3. Further Help # <a id="part_further_help"></a></h3>
+<h3 id="3-further-help-wzxhzdk12wzxhzdk13">3. Further Help <a id="part_further_help"></a></h3>
 <h4 id="31-i-dont-see-my-question-addressed-here-are-there-other-faqs-wzxhzdk14wzxhzdk15">3.1. I don't see my question addressed here. Are there other FAQs? ## <a id="other_faqs"></a></h4>
 <p>Yes. See also the <a href="../faq.html">FOP General FAQs</a> .</p></div>
       </div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/implement.html Wed Oct 24 04:26:06 2012
@@ -333,9 +333,9 @@ $(document).ready(function () {
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-implementation-overview">Apache&trade; FOP Development: Implementation Overview</h1>
 <p><subtitle>Following a Document Through Apache� FOP</subtitle><version>$Revision: 1298724 $</version><authors><person email="" name="Arved Sandstrom"></person></authors></p>
 <p>The purpose of this document is to tie together the Apache&trade; FOP design (interface) with some of the key points where control is passed within FOP (implementation), so that developers can quickly find the section of code that is relevant to their needs. The process described is for a "typical" command-line document. All classes are in org.apache.fop unless otherwise designated.</p>
-<h2 id="overview-wzxhzdk10wzxhzdk11">Overview  <a id="Overview"></a></h2>
+<h2 id="overview-wzxhzdk10wzxhzdk11">Overview <a id="Overview"></a></h2>
 <p>The input FO document is sent to the FO tree builder via SAX events. Fragments of an FO Tree are built from this process. As each page-sequence element is completed, it is passed to a layout processor, which in turn converts it into an Area Tree. The Area Tree is then given to the Renderer, which converts it into a stream of data containing the output document. The sections below will provide additional details. Where needed differences between the trunk and maintenance branches are shown in tabular format.</p>
-<h2 id="startup-wzxhzdk12wzxhzdk13">Startup  <a id="Startup"></a></h2>
+<h2 id="startup-wzxhzdk12wzxhzdk13">Startup <a id="Startup"></a></h2>
 <ul>
 <li>
 <p>The job starts in <em>apps.Fop.main()</em> .</p>
@@ -347,7 +347,7 @@ $(document).ready(function () {
 <p>Control is passed to <em>apps.Driver.render()</em> . This class fires up a SAX parser, the events from which indirectly control the remaining processing, including building the FO Tree, building the Area Tree, rendering, output and logging.</p>
 </li>
 </ul>
-<h2 id="formatting-object-tree-wzxhzdk14wzxhzdk15">Formatting Object Tree  <a id="Formatting+Object+Tree"></a></h2>
+<h2 id="formatting-object-tree-wzxhzdk14wzxhzdk15">Formatting Object Tree <a id="Formatting+Object+Tree"></a></h2>
 <table>
 <thead>
 <tr>
@@ -378,12 +378,12 @@ $(document).ready(function () {
 </tr>
 </tbody>
 </table>
-<h2 id="layout-wzxhzdk16wzxhzdk17">Layout  <a id="Layout"></a></h2>
+<h2 id="layout-wzxhzdk16wzxhzdk17">Layout <a id="Layout"></a></h2>
 <p>There are layout managers for each type of layout decision. They take an FO Tree as input and build a laid-out Area Tree from it. The layout process involves finding out where line breaks and page breaks should be made, then creating the areas on the page. Static areas can then be added for any static regions. As pages are completed, they are added to the Area Tree.</p>
-<h2 id="area-tree-wzxhzdk18wzxhzdk19">Area Tree  <a id="Area+Tree"></a></h2>
+<h2 id="area-tree-wzxhzdk18wzxhzdk19">Area Tree <a id="Area+Tree"></a></h2>
 <p>The area tree is a data structure designed to hold the page areas. These pages are then filled with the page regions and various areas. The area tree is used primarily as a minimal structure that can be rendered by the renderers.</p>
 <p>The area tree is supported by an area tree model. This model handles the adding of pages to the area tree. It also handles page sequence starts, document level extensions, id references and unresolved id areas. This model allows the pages to be handled directly by a renderer or to store the pages for later use.</p>
-<h2 id="rendering-wzxhzdk20wzxhzdk21">Rendering  <a id="Rendering"></a></h2>
+<h2 id="rendering-wzxhzdk20wzxhzdk21">Rendering <a id="Rendering"></a></h2>
 <p>The renderer receives pages from the area tree and renders those pages. If a renderer supports out of order rendering then it will either render or prepare a page in the correct order. Otherwise the pages are rendered in order. The task of the renderer is to take the pages and output them to the requested type. In the case of the AWTRenderer it needs to be able to view any page.</p>
 <p>When rendering a page it takes the page and renders each page region. The main work for a renderer implementation is to handle the viewports and inline areas. The inline areas need to be drawn on the page in the correct place.</p></div>
       </div>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/index.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/index.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/index.html Wed Oct 24 04:26:06 2012
@@ -332,16 +332,16 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-general-information">Apache&trade; FOP Development: General Information</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction <a id="intro"></a></h2>
 <p>These pages contain information that should be helpful for those developing Apache&trade; FOP. This certainly includes programmers, but may also include those contributing to the project in other ways.</p>
 <p>For basic and user information on FOP, please visit the <a href="http://xml.apache.org/fop">Apache&trade; FOP homepage</a> .</p>
-<h2 id="development-wzxhzdk7wzxhzdk8">Development  <a id="lines"></a></h2>
+<h2 id="development-wzxhzdk7wzxhzdk8">Development <a id="lines"></a></h2>
 <p>The main development happens on "FOP Trunk".
 The SVN repository URL for the trunk is:<br></br> <code>http://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/</code> </p>
-<h1 id="getting-involved-wzxhzdk11wzxhzdk12">Getting Involved  <a id="involved"></a></h1>
-<h3 id="understand-apache-roles-wzxhzdk13wzxhzdk14">Understand Apache Roles # <a id="apache-roles"></a></h3>
+<h1 id="getting-involved-wzxhzdk11wzxhzdk12">Getting Involved <a id="involved"></a></h1>
+<h3 id="understand-apache-roles-wzxhzdk13wzxhzdk14">Understand Apache Roles <a id="apache-roles"></a></h3>
 <p>Review the <a href="http://xml.apache.org/roles.html">Apache Project Roles and Responsibilities</a> document for an understanding of the various roles of contributors within the community.</p>
-<h3 id="how-you-can-help-wzxhzdk15wzxhzdk16">How you can help # <a id="fop-tasks"></a></h3>
+<h3 id="how-you-can-help-wzxhzdk15wzxhzdk16">How you can help <a id="fop-tasks"></a></h3>
 <p>There are many different ways that you can help with FOP development. The following is a non-exhaustive list of ways that <em>non-programmers</em> can help. Remember that an hour spent on the tasks below is an hour that a programmer can devote to fixing bugs or adding features instead:</p>
 <ul>
 <li>
@@ -378,14 +378,14 @@ The SVN repository URL for the trunk is:
 <p>Implementing new features.</p>
 </li>
 </ul>
-<h3 id="understand-fop-related-standards-wzxhzdk17wzxhzdk18">Understand FOP-related standards # <a id="fop-standards"></a></h3>
+<h3 id="understand-fop-related-standards-wzxhzdk17wzxhzdk18">Understand FOP-related standards <a id="fop-standards"></a></h3>
 <p>At the moment FOP is mainly a tool to render XSL-FO files to pdf. Therefore if you want to contribute to FOP you should become familiar with these standards. You can find links at <a href="../resources.html#specs">Specifications</a> .</p>
-<h3 id="review-the-developer-documentation-wzxhzdk19wzxhzdk20">Review the Developer Documentation # <a id="doc"></a></h3>
-<h3 id="understand-fops-design-wzxhzdk21wzxhzdk22">Understand FOP's Design # <a id="design"></a></h3>
+<h3 id="review-the-developer-documentation-wzxhzdk19wzxhzdk20">Review the Developer Documentation <a id="doc"></a></h3>
+<h3 id="understand-fops-design-wzxhzdk21wzxhzdk22">Understand FOP's Design <a id="design"></a></h3>
 <p>The design for FOP is specified under the <a href="design/index.html">Design</a> section. This is where the information on how FOP is developed and designed internally will be kept.</p>
 <p>Another place where we write design documentation is the <a href="http://wiki.apache.org/xmlgraphics-fop/DeveloperPages">FOP Wiki</a> .
 Our design documentation may not always be up to date!</p>
-<h2 id="subscribe-to-the-fop-dev-mailing-list-wzxhzdk23wzxhzdk24">Subscribe to the fop-dev Mailing List # <a id="mail-fop-dev"></a></h2>
+<h2 id="subscribe-to-the-fop-dev-mailing-list-wzxhzdk23wzxhzdk24">Subscribe to the fop-dev Mailing List <a id="mail-fop-dev"></a></h2>
 <p>Use this forum to discuss topics related to FOP development, including patch submissions, bug reports, and design issues. Please <em>do not</em> use it for XML support, XSLT support, XSL-FO support, or even FOP support. Appropriate mailing lists for these topics can be found on the <a href="../maillist.html">FOP Mailing List</a> page.</p>
 <ul>
 <li>
@@ -433,7 +433,7 @@ Our design documentation may not always 
 <p>To unsubscribe: Send email to <a href="mailto:fop-dev-unsubscribe@xmlgraphics.apache.org">fop-dev-unsubscribe@xmlgraphics.apache.org</a> .</p>
 </li>
 </ul>
-<h3 id="subscribe-to-the-fop-commits-mailing-list-wzxhzdk25wzxhzdk26">Subscribe to the fop-commits Mailing List # <a id="mail-fop-cvs"></a></h3>
+<h3 id="subscribe-to-the-fop-commits-mailing-list-wzxhzdk25wzxhzdk26">Subscribe to the fop-commits Mailing List <a id="mail-fop-cvs"></a></h3>
 <p>When changes are committed to the code repository, a record of the diffs is emailed to the fop-cvs mailing list. FOP developers are encouraged to subscribe to this list because it helps in following the progress of the project.</p>
 <ul>
 <li>
@@ -463,9 +463,9 @@ Our design documentation may not always 
 <p>Subscribe by sending an email to <a href="mailto:fop-commits-subscribe@xmlgraphics.apache.org">fop-commits-subscribe@xmlgraphics.apache.org</a> .</p>
 </li>
 </ul>
-<h3 id="download-and-use-the-developers-code-using-subversion-wzxhzdk27wzxhzdk28">Download and Use the Developers' Code Using Subversion # <a id="dev-code"></a></h3>
+<h3 id="download-and-use-the-developers-code-using-subversion-wzxhzdk27wzxhzdk28">Download and Use the Developers' Code Using Subversion <a id="dev-code"></a></h3>
 <p>Between releases the newest code can be accessed via SVN. To do this you need to install a SVN client on your computer, if it is not already there. An explanation how to connect to the FOP source repository can be found at <a href="http://xmlgraphics.apache.org/repo.html">http://xmlgraphics.apache.org/repo.html</a> . More information can be found on the <a href="tools.html">Tools page</a> .</p>
-<h3 id="submitting-patches-wzxhzdk29wzxhzdk30">Submitting Patches # <a id="patches"></a></h3>
+<h3 id="submitting-patches-wzxhzdk29wzxhzdk30">Submitting Patches <a id="patches"></a></h3>
 <p>If you have useful changes to source code (bugfixes or enhancements), test files, or documentation that you would like to contribute to the project, please do the following:</p>
 <ul>
 <li>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/release.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/release.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/release.html Wed Oct 24 04:26:06 2012
@@ -332,10 +332,10 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-release-mechanics">Apache&trade; FOP Development: Release Mechanics</h1>
 <p><version>$Revision: 1310603 $</version></p>
-<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction  <a id="intro"></a></h2>
+<h2 id="introduction-wzxhzdk3wzxhzdk4">Introduction <a id="intro"></a></h2>
 <p>This page documents the process of creating a Apache&trade; FOP release. FOP releases are coordinated by some designated member of the team. The purpose of documenting it here is to facilitate consistency, ensure that the process is captured, and to allow others to comment on the process.</p>
 <p>The checklist below is based on a combination of input from from Christian Geisert and Simon Pepping.</p>
-<h2 id="checklist-wzxhzdk6wzxhzdk7">Checklist  <a id="checklist"></a></h2>
+<h2 id="checklist-wzxhzdk6wzxhzdk7">Checklist <a id="checklist"></a></h2>
 <ul>
 <li>
 <p>Determine which open bugs must be solved before a release can take place (release critical bugs). Make this bug depend on each release critical bug and write a short argument why the bug is release critical.</p>
@@ -455,7 +455,7 @@ $(document).ready(function () {
 <p>Deploy the maven bundle.</p>
 </li>
 </ul>
-<h2 id="resources-wzxhzdk8wzxhzdk9">Resources  <a id="other-checklists"></a></h2>
+<h2 id="resources-wzxhzdk8wzxhzdk9">Resources <a id="other-checklists"></a></h2>
 <p>The following is a sample of some other project release checklists, which might be consulted for ideas:</p>
 <ul>
 <li>
@@ -477,7 +477,7 @@ $(document).ready(function () {
 <p>Stefan Bodewig's<jump href="http://people.apache.org/~bodewig/mirror.html">Making your Downloads Mirrorable</jump></p>
 </li>
 </ul>
-<h2 id="announcing-the-release-wzxhzdk10wzxhzdk11">Announcing the release  <a id="announcements"></a></h2>
+<h2 id="announcing-the-release-wzxhzdk10wzxhzdk11">Announcing the release <a id="announcements"></a></h2>
 <p>Here's a suggested list of places where to announce new FOP releases:</p>
 <ul>
 <li>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/rtflib.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/rtflib.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/rtflib.html Wed Oct 24 04:26:06 2012
@@ -332,8 +332,8 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-rtflib-jfor">Apache&trade; FOP Development: RTFLib (jfor)</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="general-information-wzxhzdk3wzxhzdk4">General Information  <a id="general"></a></h2>
-<h3 id="introduction-wzxhzdk5wzxhzdk6">Introduction # <a id="intro"></a></h3>
+<h2 id="general-information-wzxhzdk3wzxhzdk4">General Information <a id="general"></a></h2>
+<h3 id="introduction-wzxhzdk5wzxhzdk6">Introduction <a id="intro"></a></h3>
 <p>The RTFLib package is an open-source, <em>independent</em> package suitable for writing RTF files in a java environment. By <em>independent</em> we mean:</p>
 <ul>
 <li>
@@ -344,13 +344,13 @@ $(document).ready(function () {
 </li>
 </ul>
 <p>The FOP development team intends to keep the RTFLib package independent so that it can be used for other purposes.</p>
-<h3 id="history-wzxhzdk7wzxhzdk8">History # <a id="history"></a></h3>
+<h3 id="history-wzxhzdk7wzxhzdk8">History <a id="history"></a></h3>
 <p>RTFLib was originally developed by <a href="mailto:bdelacretaz@apache.org">Bertrand Delacrétaz</a> and the <a href="http://www.jfor.org">jfor</a> team. jfor was written under an Apache-style license, and the jfor team contributed the code to the Apache Software Foundation in June, 2003. RTFLib is a subset of the original jfor project, which also includes an XSL-FO parsing mechanism for a complete XSL-FO to RTF solution.</p>
-<h3 id="status-wzxhzdk9wzxhzdk10">Status # <a id="status"></a></h3>
+<h3 id="status-wzxhzdk9wzxhzdk10">Status <a id="status"></a></h3>
 <p>Although FOP's implementation of the RTFLib package is very incomplete, the RTFLib package itself is relatively mature. RTFLib is only available in the trunk <a href="index.html#lines">line of FOP development</a> .
 <warning>This documentation is a work in progress. If you see errors or omissions, please report them to the <a href="index.html#mail-fop-dev">fop-dev mailing list</a> .</warning></p>
-<h1 id="user-documentation-wzxhzdk13wzxhzdk14">User Documentation  <a id="userdoc"></a></h1>
-<h3 id="overview-wzxhzdk15wzxhzdk16">Overview # <a id="userdoc-overview"></a></h3>
+<h1 id="user-documentation-wzxhzdk13wzxhzdk14">User Documentation <a id="userdoc"></a></h1>
+<h3 id="overview-wzxhzdk15wzxhzdk16">Overview <a id="userdoc-overview"></a></h3>
 <p>Perhaps the easiest way to see how to use RTFLib is by looking at an example. A set of test documents is part of the package, and can be <a href="http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/rtf/rtflib/testdocs/">viewed online</a> . A quick look at the Abstract <a href="http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/rtf/rtflib/testdocs/TestDocument.java?rev=HEAD&amp;content-type=text/vnd.viewcvs-markup">TestDocument</a> class, and one of the Concrete subclasses, <a href="http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/rtf/rtflib/testdocs/SimpleDocument.java?rev=HEAD&amp;content-type=text/vnd.viewcvs-markup">SimpleDocument</a> will provide the basics of how to use the package.</p>
 <p>There are two basic concepts you will need to understand in order to use RTFLib:</p>
 <ul>
@@ -362,7 +362,7 @@ $(document).ready(function () {
 </li>
 </ul>
 <p>RTFLib handles the process of converting to and writing the RTF content as the document is created. All you need to do is flush the document at the end to make sure that the last pieces get written.</p>
-<h3 id="document-structure-wzxhzdk17wzxhzdk18">Document Structure # <a id="userdoc-structure"></a></h3>
+<h3 id="document-structure-wzxhzdk17wzxhzdk18">Document Structure <a id="userdoc-structure"></a></h3>
 <p><warning>This section is very incomplete.</warning>
 The documentation in this section is intended to provide a high-level view of the process of building an RTF document. For more detailed API documentation of the various methods, be sure to consult the Javadocs for RTFLib.</p>
 <p>The following table summarizes the various containers that can be created:</p>
@@ -444,7 +444,7 @@ The documentation in this section is int
 </tr>
 </tbody>
 </table>
-<h3 id="attributes-wzxhzdk21wzxhzdk22">Attributes # <a id="userdoc-attributes"></a></h3>
+<h3 id="attributes-wzxhzdk21wzxhzdk22">Attributes <a id="userdoc-attributes"></a></h3>
 <p><warning>This section is very incomplete.</warning>
 Attributes can be set for each container and piece of content in the document. The general approach is to build an RtfAttributes object containing the various attributes, then pass that RtfAttributes object to the method that creates the new container or content. See the Javadoc API documentation for RtfAttributes for details on the syntax for creating an RtfAttributes object. The following information lists the various attributes that can be set for each type of container.</p>
 <h4 id="information-group-wzxhzdk25wzxhzdk26">Information Group ## <a id="userdoc-attr-ig"></a></h4>

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/svg.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/svg.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/svg.html Wed Oct 24 04:26:06 2012
@@ -333,7 +333,7 @@ $(document).ready(function () {
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-svg-issues">Apache&trade; FOP Development: SVG Issues</h1>
 <p><version>$Revision: 1298724 $</version></p>
 <p>See also <a href="../trunk/graphics.html#svg">SVG User Documentation</a> for more information.</p>
-<h2 id="examples-wzxhzdk3wzxhzdk4">Examples  <a id="Examples"></a></h2>
+<h2 id="examples-wzxhzdk3wzxhzdk4">Examples <a id="Examples"></a></h2>
 <p>These examples illustrate a number of issues relating to conversion to PDF:</p>
 <table>
 <thead>
@@ -394,9 +394,9 @@ You will need Acrobat 5.0 to see transpa
 <caption>XSL:FO to PDF examples</caption>|  | fo file | pdf result |
 |--|---------|------------|
 | embedding svg |  <a href="fo/embedding.fo">embedding.fo</a>  |  <a href="fo/embedding.fo.pdf">embedding.fo.pdf</a>  |</p>
-<h2 id="developer-notes-wzxhzdk7wzxhzdk8">Developer Notes  <a id="Developer+Notes"></a></h2>
+<h2 id="developer-notes-wzxhzdk7wzxhzdk8">Developer Notes <a id="Developer+Notes"></a></h2>
 <p>For most output formats in FOP the SVG is simply drawn into an image with Batik. For PDF there are a set of classes to handle drawing the <a href="http://xml.apache.org/batik/architecture.html">GVT (Graphic Vector Toolkit)</a> into PDF markup.</p>
-<h3 id="classes-wzxhzdk9wzxhzdk10">Classes # <a id="Classes"></a></h3>
+<h3 id="classes-wzxhzdk9wzxhzdk10">Classes <a id="Classes"></a></h3>
 <p>These are the relevant classes, found in the package org.apache.fop.svg :</p>
 <ul>
 <li>
@@ -409,7 +409,7 @@ You will need Acrobat 5.0 to see transpa
 <p><em>PDFTranscoder</em> <br></br>used by Batik to transcode an svg document into a standalone pdf, via PDFDocumentGraphics2D.</p>
 </li>
 </ul>
-<h3 id="ideas-wzxhzdk11wzxhzdk12">Ideas # <a id="Ideas"></a></h3>
+<h3 id="ideas-wzxhzdk11wzxhzdk12">Ideas <a id="Ideas"></a></h3>
 <p>Batik can convert ttf to svg font. This svg font could be converted into a pdf stroked font (type 3 font).</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/testing.html Wed Oct 24 04:26:06 2012
@@ -332,7 +332,7 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/dev/">Dev</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-testing">Apache&trade; FOP Development: Testing</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="build-testing-wzxhzdk3wzxhzdk4">"Build" Testing  <a id="build"></a></h2>
+<h2 id="build-testing-wzxhzdk3wzxhzdk4">"Build" Testing <a id="build"></a></h2>
 <p>Apache&trade; projects use an automated build tool called "gump" to create nightly builds from the SVN repository. Gump sends "nag" messages if the build fails. This can be considered a sort of basic test of the build process. To view the most recent logs of the gump builds:</p>
 <ul>
 <li>
@@ -342,32 +342,32 @@ $(document).ready(function () {
 <p><a href="http://gump.cocoondev.org/xml-fop-maintenance.html">Gump build for the Maintenance Branch</a> </p>
 </li>
 </ul>
-<h2 id="basicapi-testing-wzxhzdk6wzxhzdk7">Basic/API Testing  <a id="basic"></a></h2>
+<h2 id="basicapi-testing-wzxhzdk6wzxhzdk7">Basic/API Testing <a id="basic"></a></h2>
 <p>There is a group of basic API tests that are included in the build process. For these tests to occur, JUnit must be available to Ant (simply copy junit.jar into Ant's lib directory). The build will then report error(s) if the high-level APIs for Driver and the Transcoders fail. The tests do not check the output, but only ensure that something is generated and without exceptions.</p>
-<h2 id="layout-engine-testing-wzxhzdk8wzxhzdk9">Layout Engine Testing  <a id="layoutengine"></a></h2>
+<h2 id="layout-engine-testing-wzxhzdk8wzxhzdk9">Layout Engine Testing <a id="layoutengine"></a></h2>
 <p>The <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/test/layoutengine/"></a> directory in the repository contains a test suite for checking the functionality of Apache� FOP's layout engine. For information on how to create test cases for the layout engine, please visit the <a href="http://wiki.apache.org/xmlgraphics-fop/HowToCreateLayoutEngineTests">Wiki page</a> .</p>
-<h2 id="functional-testing-wzxhzdk10wzxhzdk11">Functional Testing  <a id="functional"></a></h2>
+<h2 id="functional-testing-wzxhzdk10wzxhzdk11">Functional Testing <a id="functional"></a></h2>
 <p><warning>The "functional" testing section on this page is currently inoperative.</warning></p>
-<h2 id="running-and-using-tests-wzxhzdk14wzxhzdk15">Running and Using Tests # <a id="Running+and+Using+Tests"></a></h2>
+<h2 id="running-and-using-tests-wzxhzdk14wzxhzdk15">Running and Using Tests <a id="Running+and+Using+Tests"></a></h2>
 <p>Testing is an important part of getting FOP to operate correctly and conform to the necessary standards.</p>
 <p>A testing system has been set up that works with as a build target when developing with FOP. A developer can run the tests after making changes to the code, the aim is to have the tests run to verfiy that nothing working has been broken.</p>
 <p>To setup the testing the developer must place a reference fop.jar in the "<cvs_repository>/test/reference/" directory. This jar will be dynamically loaded to create the reference output.</p>
-<h3 id="w3c-testsuite-wzxhzdk17wzxhzdk18">W3C TestSuite # <a id="W3C+TestSuite"></a></h3>
+<h3 id="w3c-testsuite-wzxhzdk17wzxhzdk18">W3C TestSuite <a id="W3C+TestSuite"></a></h3>
 <p>The testing is set up so that you can download the testsuite from<jump href="http://www.w3.org/Style/XSL/TestSuite/">http://www.w3.org/Style/XSL/TestSuite/</jump>, unzip the file into the base directory of FOP. Then you can uncomment the lines in the build.xml file in the test target and itwill run through all the tests in the testsuite distribution.</p>
-<h3 id="writing-a-test-wzxhzdk21wzxhzdk22">Writing a Test # <a id="Writing+a+Test"></a></h3>
+<h3 id="writing-a-test-wzxhzdk21wzxhzdk22">Writing a Test <a id="Writing+a+Test"></a></h3>
 <p>A test belongs to one of a few catagories. A basic test should excercise one element in a number of situations such as changing a property. This should have at least one normal value, one border value and one invalid value. If the property can be of different types then this should also be included.</p>
 <p>A bug test is a test that is specifically aimed at a problem with FOP. That is, the test is not excercising the specification but rather a problem with FOP in handling a particular situation that is not exposed with the other testing.</p>
 <p>A system test is one that tests the abitlity of FOP to handle a number of different elements together.</p>
 <p>A test can consist of a complete fo document or a part of the document such as some elements that will be placed into the flow of a standard document.</p>
-<h3 id="submitting-a-test-wzxhzdk23wzxhzdk24">Submitting a Test # <a id="Submitting+a+Test"></a></h3>
+<h3 id="submitting-a-test-wzxhzdk23wzxhzdk24">Submitting a Test <a id="Submitting+a+Test"></a></h3>
 <p>If you have a test which you think would be useful you should supply the test and a diff to the appropriate test suite xml file. Make sure that the test works as would be expected against the current build.</p>
-<h3 id="how-testing-works-wzxhzdk25wzxhzdk26">How Testing Works # <a id="How+Testing+Works"></a></h3>
+<h3 id="how-testing-works-wzxhzdk25wzxhzdk26">How Testing Works <a id="How+Testing+Works"></a></h3>
 <p>The tests are stored in the "<svn_repository>/test" directory.</p>
 <p>You can run the tests by specifying the build target "test" ie:<br></br> <code>ant.sh test</code> (Unix)<br></br> <code>ant test</code> (Windows)<br></br></p>
 <p>This will then compare the current code in the local src directory to a specified release of FOP. Any differences between the current code and the output from the reference version will be reported. If the test previously passed then the test run will have failed.</p>
 <p>The testing is done by reading a test suite xml file, which corresponds to the standard testsuite.dtd supplied from w3c. This xml file contains a test xml file and an xsl file (which may simply copy the file). It also contains information such as if the test has passed and any comments.</p>
 <p>For FOP the testing is done by rendering all the testing documents using the XML renderer. The XML files are then compared to see if there are any differences.</p>
-<h3 id="svg-testing-wzxhzdk34wzxhzdk35">SVG Testing # <a id="SVG+Testing"></a></h3>
+<h3 id="svg-testing-wzxhzdk34wzxhzdk35">SVG Testing <a id="SVG+Testing"></a></h3>
 <p>The testing of SVG is not part of this testing system. SVG is tested for its rendering accuracy by using the transcoding mechanism via <a href="http://xmlgraphics.apache.org/batik/">Apache Batik</a> . So that the only part that needs testing is how the SVG image is embedded inside the flow of the fo document.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/dev/tools.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/dev/tools.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/dev/tools.html Wed Oct 24 04:26:06 2012
@@ -333,7 +333,7 @@ $(document).ready(function () {
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-development-developer-tools">Apache&trade; FOP Development: Developer Tools</h1>
 <p><version>$Revision: 1298724 $</version></p>
 <p>This page documents items that may be helpful to other developers, especially to those who are new to Apache&trade; FOP. Exhaustive treatment of these topics is better suited to other fora, but the information presented here is intended to deal with FOP-specific issues related to these tools, especially "gotchas", and to help developers get jump-started.</p>
-<h2 id="developer-checklist-wzxhzdk4wzxhzdk5">Developer Checklist  <a id="checklist"></a></h2>
+<h2 id="developer-checklist-wzxhzdk4wzxhzdk5">Developer Checklist <a id="checklist"></a></h2>
 <p>Here is a (probably not comprehensive) list of tools you will need to be a successful FOP developer:</p>
 <ul>
 <li>
@@ -352,17 +352,17 @@ $(document).ready(function () {
 <p>JUnit (see <a href="testing.html#basic">Basic Testing</a> ).</p>
 </li>
 </ul>
-<h2 id="general-developer-information-wzxhzdk6wzxhzdk7">General Developer Information  <a id="general"></a></h2>
+<h2 id="general-developer-information-wzxhzdk6wzxhzdk7">General Developer Information <a id="general"></a></h2>
 <p>See <a href="http://www.apache.org/dev/contributors.html">the Apache Contributors Tech Guide</a> for useful information and links for Apache developers, including help with tools and procedures.</p>
-<h2 id="subversion-svn-wzxhzdk8wzxhzdk9">Subversion (SVN)  <a id="svn"></a></h2>
-<h3 id="general-wzxhzdk10wzxhzdk11">General # <a id="svn_general"></a></h3>
+<h2 id="subversion-svn-wzxhzdk8wzxhzdk9">Subversion (SVN) <a id="svn"></a></h2>
+<h3 id="general-wzxhzdk10wzxhzdk11">General <a id="svn_general"></a></h3>
 <p>Visit <a href="http://xmlgraphics.apache.org/repo.html">Apache XML Graphics Code Repositories</a> for useful information.</p>
 <p>You will need a SVN client to be able to gain access to the FOP repository. For general SVN information, visit <a href="http://subversion.tigris.org">Subversion Home</a> . A comprehensive list of clients for all operating systems and many IDEs can be found at <a href="http://subversion.tigris.org/project_links.html">the Subversion Links page</a> . For Microsoft Windows we recommend <a href="http://tortoisesvn.tigris.org">TortoiseSVN</a> . The command-line client that comes with Subversion is also very easy to use.</p>
-<h3 id="step-by-step-instruction-for-downloading-fop-using-the-svn-command-line-client-wzxhzdk12wzxhzdk13">Step-by-step instruction for downloading FOP using the SVN command-line client # <a id="svn_download"></a></h3>
+<h3 id="step-by-step-instruction-for-downloading-fop-using-the-svn-command-line-client-wzxhzdk12wzxhzdk13">Step-by-step instruction for downloading FOP using the SVN command-line client <a id="svn_download"></a></h3>
 <p>On the command-line (Windows or Unix), simply run:</p>
 <p>svn co http://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/ fop-trunk</p>
 <p>This will download the FOP trunk into the directory "fop-trunk".</p>
-<h3 id="step-by-step-instructions-for-downloading-fop-using-tortoisesvn-on-windows-wzxhzdk14wzxhzdk15">Step-by-step instructions for downloading FOP using TortoiseSVN (on Windows) # <a id="tortoisesvn_download"></a></h3>
+<h3 id="step-by-step-instructions-for-downloading-fop-using-tortoisesvn-on-windows-wzxhzdk14wzxhzdk15">Step-by-step instructions for downloading FOP using TortoiseSVN (on Windows) <a id="tortoisesvn_download"></a></h3>
 <ul>
 <li>
 <p>Create a new, empty directory in a place of your choice.</p>
@@ -377,7 +377,7 @@ $(document).ready(function () {
 <p>Click "OK" and the download should begin.</p>
 </li>
 </ul>
-<h3 id="creating-patches-wzxhzdk16wzxhzdk17">Creating Patches # <a id="patches"></a></h3>
+<h3 id="creating-patches-wzxhzdk16wzxhzdk17">Creating Patches <a id="patches"></a></h3>
 <ul>
 <li>
 <p><code>cd</code> to a directory that contains all of the changes that you wish to include in the patch. To comprehend the entire distribution, <code>cd</code> to the top directory where you checked out the sources.</p>
@@ -392,7 +392,7 @@ $(document).ready(function () {
 <p>If you are running TortoiseSVN, you can select "Create Patch..." in the TortoiseSVN context menu.</p>
 </li>
 </ul>
-<h3 id="documentation-wzxhzdk18wzxhzdk19">Documentation # <a id="svn-doc"></a></h3>
+<h3 id="documentation-wzxhzdk18wzxhzdk19">Documentation <a id="svn-doc"></a></h3>
 <ul>
 <li>
 <p>[online resource]<jump href="http://subversion.tigris.org">The Subversion Home Page</jump>.</p>
@@ -404,7 +404,7 @@ $(document).ready(function () {
 <p>[online resource]<jump href="http://subversion.tigris.org/project_links.html">Comprehensive list of links to documentation and Subversion clients and plugins.</jump></p>
 </li>
 </ul>
-<h2 id="integrated-development-environments-ides-wzxhzdk20wzxhzdk21">Integrated Development Environments (IDEs)  <a id="ide"></a></h2>
+<h2 id="integrated-development-environments-ides-wzxhzdk20wzxhzdk21">Integrated Development Environments (IDEs) <a id="ide"></a></h2>
 <p>An IDE is not required, but will generally be found to be helpful, especially for serious debugging and refactoring.</p>
 <p>Borland's JBuilder 7/8 does not support Ant builds unless you have the Enterprise Edition (which is quite expensive). This causes problems with any code that is generated by the Ant build. First, you must run the Ant build before you can use the IDE. Second, when you are editing in the IDE, you must be editing the generated files, which means that you must make any changes to the source files in another editor. This is less serious for development on the trunk, but in the maintenance branch, all source files were "generated".</p>
 <p>Sun ONE Studio Four does support Ant, but seems to use a built-in version, and as of this writing chokes on the FOP build file, saying that it is not valid. There is awkward because there is no official DTD for Ant, and it may be merely an Ant version issue.</p>

Modified: websites/staging/xmlgraphics/trunk/content/fop/download.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/download.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/download.html Wed Oct 24 04:26:06 2012
@@ -332,7 +332,7 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-downloading-a-distribution">Apache&trade; FOP: Downloading A Distribution</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="binary-or-source-wzxhzdk3wzxhzdk4">Binary or Source?  <a id="dist-type"></a></h2>
+<h2 id="binary-or-source-wzxhzdk3wzxhzdk4">Binary or Source? <a id="dist-type"></a></h2>
 <p>Most Apache&trade; FOP users will want to download the latest binary distribution, which is ready to run "out of the box." However, a source distribution will be preferable if you fall into one of the following categories:</p>
 <ul>
 <li>
@@ -345,9 +345,9 @@ $(document).ready(function () {
 <p>You wish to build a local copy of the API documentation (javadocs).</p>
 </li>
 </ul>
-<h2 id="binary-download-wzxhzdk6wzxhzdk7">Binary Download  <a id="binary"></a></h2>
+<h2 id="binary-download-wzxhzdk6wzxhzdk7">Binary Download <a id="binary"></a></h2>
 <p>Binary distributions include "-bin" in their names, and can be downloaded from a <a href="http://www.apache.org/dyn/closer.cgi/xmlgraphics/fop">FOP Distribution mirror</a> . Nightly builds of trunk code can be downloaded here: <a href="http://ci.apache.org/projects/xmlgraphics/fop/snapshots/">Nightly Snapshots</a> .</p>
-<h2 id="source-download-wzxhzdk8wzxhzdk9">Source Download  <a id="source"></a></h2>
+<h2 id="source-download-wzxhzdk8wzxhzdk9">Source Download <a id="source"></a></h2>
 <p>There are several ways to obtain a source distribution. Please note that they are listed from least current to most current:</p>
 <ul>
 <li>
@@ -400,7 +400,7 @@ $(document).ready(function () {
 </tbody>
 </table>
 <p>With any source distribution, you will need to build FOP from the source files. For details please see the "Build" page on the documentation tab for the version you've downloaded.</p>
-<h2 id="archive-download-wzxhzdk10wzxhzdk11">Archive Download  <a id="archives"></a></h2>
+<h2 id="archive-download-wzxhzdk10wzxhzdk11">Archive Download <a id="archives"></a></h2>
 <p>FOP Archive distributions are linked from the upper portion of the Apache FOP Download Mirror Page and can be downloaded from the FOP Archives <a href="http://archive.apache.org/dist/xmlgraphics/fop/binaries/">binaries</a> &amp; <a href="http://archive.apache.org/dist/xmlgraphics/fop/source/">source</a> links.</p></div>
       </div>
       

Modified: websites/staging/xmlgraphics/trunk/content/fop/examples.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/examples.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/examples.html Wed Oct 24 04:26:06 2012
@@ -332,7 +332,7 @@ $(document).ready(function () {
       	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a></div> -->
       	<div class="section-content"><h1 id="apachewzxhzdk0-fop-examples">Apache&trade; FOP Examples</h1>
 <p><version>$Revision: 1298724 $</version></p>
-<h2 id="example-documents-using-apachewzxhzdk5-fop-wzxhzdk3wzxhzdk4">Example Documents Using Apache&trade; FOP  <a id="Example+Documents+Using+Apache%E2%84%A2+FOP"></a></h2>
+<h2 id="example-documents-using-apachewzxhzdk5-fop-wzxhzdk3wzxhzdk4">Example Documents Using Apache&trade; FOP <a id="Example+Documents+Using+Apache%E2%84%A2+FOP"></a></h2>
 <p>These examples have been rendered using Apache&trade; FOP:</p>
 <table>
 <thead>
@@ -399,7 +399,7 @@ $(document).ready(function () {
 </ul>
 <p>Also, in the directory examples/fo/pagination you will find a suite of examples showing the use of XSL-FO pagination.</p>
 <p>Developers will find the first steps to a test suite for all implemented formatting objects and properties in test/xml in the source distribution.</p>
-<h2 id="images-examples-wzxhzdk7wzxhzdk8">Images Examples  <a id="Images+Examples"></a></h2>
+<h2 id="images-examples-wzxhzdk7wzxhzdk8">Images Examples <a id="Images+Examples"></a></h2>
 <p>Embedding images in FO:</p>
 <table>
 <thead>
@@ -436,7 +436,7 @@ $(document).ready(function () {
 </tbody>
 </table>
 <p>Look also into the directory examples/fo/svg. There you find some very extensive SVG examples.</p>
-<h2 id="instream-foreign-object-examples-wzxhzdk9wzxhzdk10">Instream Foreign Object Examples  <a id="Instream+Foreign+Object+Examples"></a></h2>
+<h2 id="instream-foreign-object-examples-wzxhzdk9wzxhzdk10">Instream Foreign Object Examples <a id="Instream+Foreign+Object+Examples"></a></h2>
 <p>Instream Foreign Object images in FO, there are more on the <a href="dev/svg.html">SVG Page</a> :</p>
 <table>
 <thead>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: commits-help@xmlgraphics.apache.org