Chuck,

See below.

Chuck Paussa wrote:

> I haven't coded for the possibility of including functions in 
> attribute values.
> Which functions has FOP implemented?


The functions are designed for use in attribute values, so sooner or 
later....



> Also, Can I assume that the following is true?
>
>   1. All functions that return object can be applied anywhere.

The most general of the object-returning functions are from-parent() and 
from-nearest-specified-value().  They are only errors in some tightly 
restricted circumstances.

system-font() is also pretty general; it can return a <length>, e.g., 
but with a catch.  There are two forms: system-font(fontname) and 
system-font(fontname, font-property).  In the second, the only 
restriction on the target is the obscure relationship between the 
computed type of the font-property and the allowable types of the target 
property.  If the font-property is font-size, a <length> is returned 
which can be applied to any attribute taking a <length>.  But in the 
second form, it can only be applied to a font-property attribute, e.g. 
font-size.  Nasty.

inherited-property-value() is general, except that it is an error of the 
property in question is not inheritable.

from-table-column - see your point 4.

merge-property-values() must occur in a child of fo:multi-properties.

>   2. Numeric functions apply to length, integer, and number values.


So far.  But there is a hole in the spec involving <angle>, <time> and 
<frequency>, which you should keep in mind.  There must be something 
about these in the next release.  Fortunately for FOP, they do not 
relate printed output.

>   3. Color functions apply to color values.
>   4. from-table-column applies to table-cell and any element that can
>      be a child of a table-cell.
>   5. proportional-column-width applies only to table-column
>
> Functions:
> numeric    floor( numeric)
> numeric    ceiling(numeric)
> numeric    round(numeric)
> numeric    min( numeric , numeric)
> numeric    max(numeric , numeric)
> numeric    abs( numeric)
> color    rgb(numeric , numeric , numeric)
> color    rgb-icc(numeric , numeric , numeric , NCName , numeric , 
> numeric)
> color    system-color( NCName)
> object    system-font( NCName , NCName)
> object    inherited-property-value(NCName)
> numeric    label-end()
> numeric    body-start()
> object    from-parent( NCName)
> object    from-nearest-specified-value( NCName)
> object    from-table-column( NCName)
> numeric    proportional-column-width( numeric)
> object    merge-property-values( NCName)
>
> The spec also specifies this attribute, which applies to the page 
> context (So which elements signify the page context?)
> <attribute name = "size"  type = "size_Type"/>

Size in XSL is regarded as a shorthand for page-height and page-width. 
 These properties are only defined on fo:simple-page-master.

I suppose a lot depends on how tightly you want to try to constrain the 
XSL through the schema.  There are many constraints which can only be 
tested by the processor.

Peter


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to