XSL Formatting

Domain Hosting image
Web Hosting
Dedicated server
ssl certificate
Web Design image
Email
Formatting is the process of turning the result of an XSL transformation into a tangible form for the reader or listener. This process comprises several steps, some of which depend on others in a non sequential way. The model for formatting will be like the construction of an area tree, which is an ordered tree containing geometric information for the placement of every glyph, shape, and image in the document.

Formatting objects are elements in the formatting object tree, whose names are from the XSL namespace; a formatting object belongs to a class of formatting objects identified by its element name. The formatting behavior of each class of formatting objects is described in terms of what areas are created by a formatting object of that class, how the traits of the areas are established, and how the areas are structured hierarchically with respect to areas created by other formatting objects. Some formatting objects are block level and others are inline level. This refers to the types of areas which they generate, which in turn refer to their default placement method.

Inline areas (for example, glyph areas) are collected into lines and the direction in which they are stacked is the inline progression direction. Lines are a type of blockarea and these are stacked in a direction perpendicular to the inline progressiondirection, called the block progression direction.

In Western writing systems, the block progression direction is "top to bottom" and the inline progression direction is "left to right". XSL uses the terms "block" and "inline" instead of using absolute indicators like "vertical" and "horizontal". Although the XML result tree and the formatting object tree have very similar structures, it is helpful to think of them as separate conceptual entities. Refinement involves:

Propagating the various inherited values of properties (both implicitly and those with an attribute value of "inherit"),

Evaluating expressions in property value specifications into actual values, which are then used to determine the value of the properties,
Converting relative numerics to absolute numerics and
Constructing some composite properties from more than one attribute.

Thus refinement is not necessarily a straightforward, sequential procedure, but may involve looking ahead, back tracking, or control splicing with other processes in the formatter. To summarise, formatting proceeds by constructing an area tree (containing areas and their traits) which satisfies constraints based on information contained in the XML result tree (containing element nodes and their attributes). Conceptually, there are intermediate steps of constructing a formatting object tree (containing formatting objects and their properties) and refinement; these steps may proceed in an interleaved fashion during the construction of the area tree.

As a general rule, the order of the area tree parallels the order of the formatting object tree. That is, if one formatting object precedes another in the depth first traversal of the formatting object tree, with neither containing the other, then all the areas generated by the first will precede all the areas generated by the second in the depthfirst traversal of the area tree, unless otherwise specified. Typical exceptions to this rule would be things like side floats, before floats, and footnotes.

The formatting object definitions, property descriptions, and area model are not algorithms. Thus, the formatting object semantics do not specify how the line breaking algorithm must Work in collecting characters into words, positioning words within lines, shifting lines within a container, etc. This specification instead assumes that the formatter has done these things and describes the constraints which the result is supposed to satisfy.



Domain Name Search

www.


Copyright (C) 2007. Web Domain design hosting. All rights reserved.