Stylesheet modules and global variables

XSLT spec says:

"A top-level variable-binding element declares a global variable that is
visible everywhere (except where it is shadowed by another binding)."

So variable declared in stylesheet module which imports (or includes)
another stylesheet module is visible also in imported module.

I think this could be big problem for creation of precompiled libraries
used in many stylesheet - any stylesheet module can have references to
undeclared (at time of compilation) variables.

This also applies to functions, keys, sort keys etc.

Also accidental overriding of 'private' variables and function of library 
could be undesirable (making impossible static typing in library when @as 
attribute is different in new declaration).

Maybe solutions from XQuery (modules) could be somehow adopted?

Or at least some kind of 'standalone' stylesheet module flag and rule 
disallowing overriding variables/funtions with one with different static type
(@as attribute). This will solve many problems.


Noe Michejda
7th Portal SC

Received on Tuesday, 16 September 2003 18:41:36 UTC