Abstract

xmlroff is a fast, free, high-quality, multi-platform XSL formatter that aims to excel at DocBook formatting and that integrates easily with other programs and with scripting languages.

xmlroff lives at http://xmlroff.org. xmlroff is discussed on the xmlroff-list@xmlroff.org mailing list and on the #xmlroff channel at oftc.net.


Users' Guide
xmlroff — XSL formatter
Conformance
Conformance Levels
Stated Conformance
Formatting Objects
Properties
Developers' Guide
Relating XSL to GObjects
FoObject, FoNode
Formatting Object --> FoFo
Formatting Object property --> FoProperty
XSL datatype --> FoDatatype
Other Objects
Rules of the Code
Abbreviations
Compare pointers to NULL
Directory Structure
Directory structure
xmlroff
Anatomy of a Formatting Object header file
Initial comment
Initial housekeeping
GObject typedefs
GObject #defines
GObject functions
Non-property functions
Property functions
Final housekeeping
Anatomy of a Formatting Object C source code file
Abbreviations
Initial comment
#includes
Property enumeration
Static function prototypes
GObject _get_type() function
GObject class initializer
GObject _new()
FoFo _validate_content()
FoFo _validate()
FoFo _update_from_context()
FoFo _debug_dump_properties()
GObject _get() and _set() for properties
Anatomy of a Formatting Object area source code file
Initial comment
#includes
FoFo _area_new2()
Generating Source
Generating Source
Files
Make targets
Debugging xmlroff
Command Line
Using GDB or other debugger
Basic Interface
Overview
Lifecycle
FoLibfoContext
FoDoc and xmlroff Backends
Backends
FoDoc is YAPC (Yet Another PostScript Clone)
Object Hierarchy
FoObject is wonderful
FoObject — libfo base object type
FoNode is wonderful
FoNode — Object for making trees
Interfaces are truly wonderful
FoBlockFoIface
FoInlineFoIface
FoNeutralFoIface
FoPropertyTextPropertyIface
FoPixbuf
FoTableBorderFoIface
Formatting Objects are truly wonderful
FoFo
basic-link
bidi-override
FoBlockBlock
block
block-container
FoBlockLayout
FoBlockWhitespace
FoCharacter
color-profile
conditional-page-master-reference
declarations
external-graphic
float
flow
footnote-body
footnote
initial-property-set
inline
inline-container
instream-foreign-object
layout-master-set
leader
list-block
list-item-body
list-item
list-item-label
marker
fo-marker-parent
multi-case
multi-properties
multi-property-set
multi-switch
multi-toggle
page-number
page-number-citation
page-sequence
page-sequence-master
region-after
region-before
region-body
region-end
region-start
repeatable-page-master-alternatives
repeatable-page-master-reference
fo-retrieve-marker
root — 'root' formatting object
simple-page-master
single-page-master-reference
static-content
table-and-caption
table-body
table
table-caption
table-cell
table-column
table-footer
table-header
FoTablePart
table-row
FoText
title
FoTree — Top of the FO tree
FoWrapperBlock
FoWrapper
FoWrapperInline
FoWrapperInlineEmpty
FoWrapperWhitespace
Properties
FoProperty — Abstract FO property type
alignment-adjust
alignment-baseline
background-color
background-image
baseline-shift
block-progression-dimension
block-progression-dimension.minimum
block-progression-dimension.optimum
block-progression-dimension.maximum
border
border-after-color
border-after-precedence
border-after-style
border-after-width
border-before-color
border-before-precedence
border-before-style
border-before-width
border-bottom
border-bottom-color
border-bottom-style
border-bottom-width
border-collapse
fo-property-border-color
border-end-color
border-end-precedence
border-end-style
border-end-width
border-left
border-left-color
border-left-style
border-left-width — 'border-left-width' property
border-right
border-right-color
border-right-style
border-right-width
border-separation
border-start-color
border-start-precedence
border-start-style
border-start-width
border-style
border-top
border-top-color
border-top-style
border-top-width
border-width
break-after
break-before
character
clip
color
column-number
column-width
content-height
content-type
content-width
direction
display-align
dominant-baseline
end-indent
extent
flow-name
font-family
font-size
font-stretch
font-style
font-variant
font-weight
format
grouping-separator
grouping-size
height
id
inline-progression-dimension
inline-progression-dimension.minimum
inline-progression-dimension.optimum
inline-progression-dimension.maximum
keep-together
keep-together.within-column
keep-together.within-line
keep-together.within-page
keep-with-next
keep-with-next.within-column
keep-with-next.within-line
keep-with-next.within-page
keep-with-previous
keep-with-previous.within-column
keep-with-previous.within-line
keep-with-previous.within-page
letter-value
linefeed-treatment
line-height
line-stacking-strategy
margin
margin-bottom
margin-left
margin-right
margin-top
master-name
master-reference
media-usage — 'media-usage' property
number-columns-repeated
number-columns-spanned
number-rows-spanned
orphans
overflow
padding
padding-after
padding-before
padding-bottom
padding-end
padding-left
padding-right
padding-start
padding-top
page-height
page-width
provisional-distance-between-starts
provisional-label-separation
ref-id
region-name
role
scaling
scaling-method
score-spaces
source-document
space-after
space-after.minimum
space-after.optimum
space-after.maximum
space-after.conditionality
space-after.precedence
space-before
space-before.minimum
space-before.optimum
space-before.maximum
space-before.conditionality
space-before.precedence
space-end
space-end.minimum
space-end.optimum
space-end.maximum
space-end.conditionality
space-end.precedence
space-start
space-start.minimum
space-start.optimum
space-start.maximum
space-start.conditionality
space-start.precedence
span
src
start-indent
table-layout
text-align
text-indent
unicode-bidi
white-space-collapse
white-space-treatment
widows
width
wrap-option
writing-mode
Area Objects
FoArea
FoAreaArea
fo-area-graphic
fo-area-inline
FoAreaLayout
FoAreaListItem
FoAreaNormal
FoAreaPage
FoAreaReference
FoAreaSpanningTableCell
FoAreaTableBody
FoAreaTableCellProxy
FoAreaTableCell
FoAreaTableContinuation
FoAreaTableFooter
FoAreaTableHeader
FoAreaTablePart
FoAreaTableRow
FoAreaTable
FoAreaTree
FoAreaViewportReference
Datatype Objects
FoDatatype
FoBoolean
FoChar
FoColor
FoEnum
FoError
FoExpression
FoId
FoInteger
FoKeep
FoLength
FoLengthBpIpD
FoLengthCond
FoLengthRange
FoName
FoNumber
FoNumeric
FoPcw
FoPercentage
FoSpace
FoString
FoTblr
FoUnknown
FoUriSpecification
FoWsc
Property Context Object
FoContext
Other Objects
FoDoc — Abstract output document type
fo-doc-commands
FoDocCairo — Cairo backend
FoDocGP — GNOME Print backend
FoFontDesc
FoLayout
FoLayoutCairo
fo-layout-gp
fo-libfo-basic
FoLibfoContext — Collected information about the processing context
FoXmlDoc — libxml2 xmlDoc document
FoXmlNode
FoXslFormatter
FoXsltTransformer — libxslt XSLT processor
Utility Objects
FoHashTable
FoImage
Utility Modules
fo-utils
LibFO compatibility stylesheet
Additional Pango attributes needed by LibFO
libfo-version — libfo version checking