[
Lists Home |
Date Index |
Thread Index
]
John Cowan <cowan@mercury.ccil.org> wrote:
| Arjun Ray scripsit:
|> A control attribute is all the moral equivalent needed.
|
| As I said: a reserved name of some sort.
But not directly within XSLT. There would have to be an XML (or parser
level) mechanism to identify the control attribute.
This is, in fact, an issue fundamental to vocabulary mapping, and the
reason why a mapping mechanism is an inescapable necessity within the
formalism, *even* in the trivial case of an effective identity mapping of
a single vocabulary. (That is, even this fact has to be declared somehow.)
Note, for instance, how my reworking of Tim's example used {hn, ha, ht}
and {xn, xa, xt} as control attributes - these were arbitrary names (in
the sense that the html and books vocabularies wouldn't have to either
define or identify them) and thus completely up to the document author to
specify. Their semantics came from the <?xml-map?> pseudo declaration,
which was intended as a parser level construct, just like regular
declarations.
The point of this declaration is to identify exactly how a vocabulary maps
to the document structure. This *could* be a point-by-point identity
mapping, in which case no control attributes need be identified (with an
obvious defaulting procedure), but really need not be, in which case
control attributes would have to be present. This interpretation of the
common and base of a single vocabulary generalizes uniformly, because it
answers the question: How does *any* (declared) vocabulary map to the
structure of a document?
So, reverting to the issue at hand, which was one of differentiating
evaluable XSLT expressions from literals. At the parsing level, this is
merely a matter of the markup *asserting* one or the other (without regard
to what a GI, examined in isolation, might lead one to think). The
control attribute used for this distinction need merely be declared in the
process by which it becomes known that the XSLT vocabulary applies *at
all* to the document - the relevant <?xml-map?> for the XSLT vocabulary
itself.
I think it's worth reading Eliot Kimber's explanation of all this:
http://groups.google.com/groups?as_umsgid=34E9CBC9.401B6BB0@isogen.com
If you ignore the parts that tie AFs strongly to schemas (*not* necessary
here) and take on board merely the demonstration that vocabularies need to
be *identified*, the necessity of name mapping should become clearer.
|