1.1 WD Comments on 7.29.8 "id" property


I have two comments for the 7.29.8 "id" property definition [1] on the 
1.1 XSL WD:

(1) The "initial value" for this property indicates that a 
machine-generated unique value should be created for each FO (for which 
this property applies) where not explicitly specified:

"The initial value of this property is [a] random and unique identifier. 
The algorithm to generate this identifier is system-dependent."

I'm not sure of the value of this.  Although an FO Processing 
implementation could very well benefit from having a unique ID specified 
on every FO on the result tree, it doesn't appear necessary to for the 
specification to mandate this, as this appears to be just an internal 
processing issue. 

I can also see where an FO processor implementor, upon seeing it helpful 
to set an id value for every FO, might wish to use a "pseudo-property" 
instead of using the explicit "id" property, perhaps to avoid needing to 
handle duplicate ID conflicts between the machine-generated values and 
stylesheet-specified ones.  (This would be analogous in the database 
world of using a hidden column for a primary key, separate from the 
external, nullable, unique key that the system user types in.)

Recommendation is to switch to an initial value of "none".  I believe 
this will still allow the FO processor implementor to subsequently place 
in machine-generated values for this property, should he/she choose, 
while not requiring (or necessarily encouraging) them to do so.

(2) If the change in (1) above is done, then all id values will 
specified on the stylesheet.  In this case, I would recommend adding to 
the "id" definition something to the effect that that it is an error for 
the same id value to appear more than once on the result tree.


Glen Mazza
EDS / Apache FOP

[1] http://www.w3.org/TR/2003/WD-xsl11-20031217/#id

Received on Sunday, 25 April 2004 12:17:16 UTC