[
Lists Home |
Date Index |
Thread Index
]
- To: xml-dev <xml-dev@lists.xml.org>
- Subject: Re: [xml-dev] Vocabulary Combination and optional namespaces
- From: Arjun Ray <aray@nyct.net>
- Date: Mon, 02 Jun 2003 22:26:53 +0000
- In-reply-to: <3ED7CE5D.C4BA45C9@setf.de>
- References: <ab7bdvs3gol4j4trlefsiq6g4bfbaou70f@4ax.com> <3ED5B096.9080102@textuality.com> <3ED6062E.4080403@bitworking.org> <002801c325e8$9b883060$a000a8c0@SeairthA31> <3ED61653.20209@bitworking.org> <umsddv448lhhshot9gjlge6fivn46elk1a@4ax.com> <3ED75D63.FB992B7F@setf.de> <omcfdvg837kpirmih25kinm4un0f5h6aqk@4ax.com> <3ED7BFCC.9176C508@setf.de> <orffdvkoaa7qap4dnf300hg1vkoh7b7ruq@4ax.com> <3ED7CE5D.C4BA45C9@setf.de>
james anderson <james.anderson@setf.de> wrote:
| Arjun Ray wrote:
|> Actually, (sub)graph labelling, not graph relabelling. The original graph
|> has no scrutable labels, only structure.
|
| inscrutable, and even ignored, is not the same as none. given that xml
| structure has but two dimensions, dominance and sequence, absent
| predetermined sequencing constraints, one is left with dominance only.
| which is not always sufficient. one has to put up with inscrutable.
I'm not sure what you mean. Let me try to explain my view of "subgraph
labelling" (and by implication, my "poetics" of markup), by which I mean
the essential process by which external vocabularies are associated with
the element structure of a document.
First, the notion of the original graph having no scrutable labels. All
you have is an arbitrary tagging scheme of content, just to tell the nodes
apart:
[[[Book Review]]
^^^[[XML: A Primer]
|||^^[[[Author]
|||||^^^[Price]
||||||||^[Pages]
|||||||||^[Date]]
||||||||||^[[Simon St. Laurent]
|||||||||||^^[31.98]
|||||||||||||^[352]
||||||||||||||^[1998]]]]]
|||||||||||||||^
||||||||||||||||
ABCDEFGHIJKLMNOP
(You could think of these labels as the values of an ID attribute!)
Now, we proceed to describe these arbitrary tags using control attributes
whose purpose is to map vocabulary specific names:
id="A": hn="html"
id="B": hn="head"
id="C": hn="title"
id="D": hn="body" xn="bookreview" <== Note: *two* generic identifiers!
and so on. A "subgraph" with scrutable labels (which minimally means a
generic identifier for each relevant node) can be extracted by processing
this list of attribute settings. That's all. This is not renaming as
much as it is naming in the sense of markup.
As another example, consider this
<?xml-map vocab="wellknown name of HTML vocabulary"
gi-mapper="foo" ?>
<A foo="html">
<B foo="head">
<C foo="title">Demo</></>
<D foo="body">
<E foo="h1">Hello World!</></></>
Where the semantics of <?xml-map?> identify the control attribute 'foo' as
having the semantics "GI known as, in such-and-such vocabulary". I would
claim that this is enough to make this document one of the "HTML type" (in
the sense of "exhibiting HTML constructs by authorial intent".) Given
that, in this:
<?xml-map vocab="wellknown name of HTML vocabulary"
gi-mapper="foo" ?>
<html foo="html">
<head foo="head">
<title foo="title">Demo</></>
<body foo="body">
<h1 foo="h1">Hello World!</></></>
It is *still* the values of the foo attribute that make this a document of
the "HTML type", and *not* the apparently familiar generic identifiers!
Removing the explicit markup for what appears to be a redundant "identity
mapping", i.e.
<?xml-map vocab="wellknown name of HTML vocabulary"
gi-mapper="!gi" ?>
<html>
<head>
<title>Demo</></>
<body >
<h1>Hello World!</></></>
is *still* the result of a mapping of names as far as semantics are
concerned - we've just telescoped the essential vocabulary association
process. We can also omit the gi-mapper="!gi" specification in the
<?xml-map?> pseudo-declaration as a totally obvious defaulting, but we
can't leave the <?xml-map?> declaration out -- because without it, all we
have are indeed arbitrary names, no matter that they might look familiar.
This is why a mapping mechanism, *even for the single vocabulary case*, is
an inescapable necessity of the formalism.
|