![]() |
XSL Formatting![]() ![]() ![]() ![]() ![]()
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, 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 NamesXML HTML to XML Why XML? XML Example Program XML Structure XML Declaration Physical Structure in XML XML Syntax Well Formed and Valid Document Document Type Definition Logical Structures
Notation and Notation Declarations Entity References Importing an External DTD Cascading Style Sheets (XML) Rendering XML with CSS An Example Using CSS CSS Style Rules
XSL XSL Transformation XSL Formatting XSL Style Rules Schemas Limitations of DTD Validity of an XML Document
An Example using XML Schema Namespaces Xlinks and Xpointers Terminology Xlinks Extended Link Xpointers DOM and SAX What is DOM? The Basic Structure of an XML DOM-based Module What is SAX? When to use DOMWhen to use SAX Accessing the Database Using XML Delivering XML with Data Retrieving Data from SQL Database Using Web Assistant Wizard Displaying Records from the XML_EX Database Server Dynamic Web Publishing with Dynabase Enhydra Java/XML Application Server XML Server Technologies Purpose and Goal of the XML/EDI Guidelines Definitions for XML/EDI The Electronic Enterprise Server Scope of XML/EDI The Five Technologies of XML/EDI Integrating XML with EDI Ignore and Include Keywords XML/EDI Components The Implementation Process Identifying Data Sets Developing DTDs Application Specific Extensions XML and JAVA XML Application Architecture Channel Definition Format Creation of Channels Creating Channels Using CDF Document Description of the Channel Scheduling Logos Precaching Web Crawling Keeping Track of UsersWeb DesignWeb HostingE Commerce |
| Home | Web Hosting | Web Design | Sitemap |
| Copyright (C) 2007. Web Domain design hosting. All rights reserved. |