This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

XSLT element containment algorithm


has anyone developed a compile-time algorithm (and
proof of its necessity and sufficiency, ideally) which
can differentiate between the following two cases
pertaining to referential node determinancy in an
arbitrary XSLT transform sheet:

(1) compile-time determinant: the sheet references a
finite set of nodes (though not necessary a "node
set", in the strict sense - due to disjointness) known
at compile-time, with the implicit requirement that
the relationship dependencies (ie. "parent", "child",
etc) between all nodes in the set must also be known
at compile-time (specifically, the relationships must
be specified via relative xpath expressions from a
finite, known set of nodes)

(2) compile-time indeterminant: not (1)

for example, a "fill-in-the-blanks" sheet (ala Kay)
which uses exclusively 'value-of' elements with
explicit select expressions (eg "name") can be
demonstrated trivially to be (1): the finite set of
nodes is those nodes matching <name> (and there are no
relative relationships).

a trivial canonical example of (2) would be a
'value-of' element with a stochastic select
expression, assuming a suitable random() function
(implemented externally, say) and a nodeset over which
to choose from (any suitable axis, say)

assume no restrictions on the xpath expressions
permitted in the sheet.

also, if there are no known algorithms, are there any
theoretical formulations considered promising for
providing an analytic basis for specifying this
algorithm?

tia.

__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]