- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: Mon, 3 Mar 97 10:18:41 GMT
- To: w3c-sgml-wg@w3.org
Tim writes: > f. behavior > > . . . > > There will be an attribute named SHOW, which may have one of three values: > > INCLUDE - means that upon traversal of the link, the indicated resource > should be embedded, for the purposes of display or processing, in the body > of the resource where the traversal started. (e.g. like HTML <IMG) > REPLACE - means that upon traversal of the link, the indicated resource > should, for the purposes of display or processing, replace the > resource where the traversal started. (e.g. like HTML <A) > NEW - means that upon traversal of the link, the indicated resource should > be displayed or processed in a new context, not affecting that of the > resource where the traversal started (e.g. like HTML <A TARGET="NEW" [I > think]) Sorry, same old song: I have trouble with this outside the browser application context, although I appreciate the attempt to consider the broader application context which is evident in this post. Let's take this in pure SGML terms. Turns out REPLACE is the easiest: it's just super-CONREF, right? I.e. <vanilla id=baz>...[arbitrary content]...</vanilla> . . . <foo xml-link=link show=replace href="(id) baz">...[foo content]...</foo> ---> <vanilla id=baz>...[arbitrary content]...</vanilla> . . . <vanilla id=baz>...[arbitrary content]...</vanilla> Note that with ACTUATE=AUTO, the processor can [should?] implement this one, it means what it says, you get the target resource IN PLACE OF the source resource, which is never seen by the application. [sub-note: this inclines me more towards James's suggestion that the multiplication should be expanded out]. Now I realise I've probably willfully misinterpreted what Tim wrote, which was "replace the resource". That's what I've just described, but it's NOT what HTML <A does, is it?! So did the ERB mean "replace the DOCUMENT CONTAINING the resource"? As has been pointed out in some subsequent correspondence, this is drastic if ACTUATE=AUTO. INCLUDE is similar to the literal understanding of REPLACE above, it differs only in embedding the target resource within the source resource: <vanilla id=baz>...[arbitrary content]...</vanilla> . . . <foo xml-link=link show=include href="(id) baz">...[foo content]...</foo> ---> <vanilla id=baz>...[arbitrary content]...</vanilla> . . . <foo> <vanilla id=baz>...[arbitrary content]...</vanilla> </foo> Two things to note: foo's content is gone, and so are its link-related attributes. Wrt the first of these, seems to me we might actually want to enforce the CONREF parallel, and require that at least in cases with ACTUATE=AUTO, the linking element must be empty, i.e. <foo xml-link=link show=include href="(id) baz"/> The link-related attributes go as a concommitant of the fact that their semantics have been realised. Finally NEW -- that's essentially a SUBDOC entity in an attribute. Sorry to go on so long, but if we're going to do this at all we need to be clear what we're doing. I think in fact groves provide the only sensible way to specify what we mean in an application-neutral way. So let's try that, using the name SNODE for the node in the grove of class Element which instantiates the linking element we're concerned with: INCLUDE: On actuation, replace the content of SNODE with the grove fragment (one or more nodes) which instantiates the target resource. REPLACE: On actuation, replace SNODE (or (grove-root SNODE), see above) with the node (must be exactly one) which instantiates the target resource. NEW: On actuation, construct a new grove which instantiates the target resource. One useful point this throws up is that in the case of NEW and REPLACE, the target resource better be a single element == a single node, whereas for INCLUDE it can be a sequence thereof (this turns out to be exactly what I need for an existing application which uses INCLUDE semantics). A final point: NONE of this makes any sense for extended links, as far as I can see. ht
Received on Monday, 3 March 1997 05:18:45 UTC