Lists Home |
Date Index |
james anderson <firstname.lastname@example.org> wrote:
| 1. how to encode the mapping specification?
| what is the advantage of[:] resolver == URI -> local-name -> external-name
| over[:] resolver == local-name -> (URI x external-name)
| since the local name must be unique in any given context.
Because multiple external names may map to the same local name! That's
what sharing of data values is all about. How can xlink:href and html:src
have the same value by *authorial intent*, as opposed to what *could* be
just coincidence (e.g. string equivalence)?
The Namespaces approach is implicitly one of "disjoint factoring", i.e.
that a value is assigned (by name) to only *one* external category; but
XMap isn't only about XML Namespaces, and disjoint factoring is manifestly
*not* the general case. Thus, the correct general approach is outside-in
("where is my value?") rather than inside-out ("who gets this value?")
specific resolver/extractor == (URI x external-name) -> local-name
The difficulties in using XMap to reproduce Namespaces are precisely in
this "inversion" (the natural interpretation of XMap is AFs). Indeed,
disjoint factoring (to allow if not enforce inside-out mappings) is a
fundamental *flaw* of colonification syntax.
| 2. ontology, taxonomy, or name set
| why does "where the names came from" matter for a renaming transformation?
See above. It's the same question. :-)
|>| while performing the transformation which XMap describes, the pairs in
|>| the control attributes are equivalent to variable bindings and the
|>| transformation itself is equivalent to beta-conversion.
|> I don't see how. I'd say XMap is an analog of alpha renaming.
| it is alpha-conversion only if one posits an implicit binding for each name.
| an implementation looks a lot more like beta-conversion.
An implementation would be "undoing" the alpha-renaming, which may *look*
like beta-conversion. :-)
[CL code omitted: hey, tried using a couple of spaces instead of tabs?;-)]
Thanks for the code snippet. I think the (acons (second mapping) (first
mapping) ...) says it all. That isn't what we want to do, in the general