- From: Len Bullard <cbullard@hiwaay.net>
- Date: Mon, 20 Jan 1997 14:36:06 -0600
- To: w3c-sgml-wg@www10.w3.org
As the use of the URL in XML is being debated, it is
worth noting some relevant facts:
1. The use of the URL in XML is not bounded by the
use of the URL in HTML. It is bounded by the RFCs.
No one disputes this although the argument has
been presented several times that getting to
far beyond HTML's use may impair XML marketability.
That argument may be one of the reasons some
mistakenly believe XML is a replacement for HTML.
In fact, as argued next, XML can only define
the way in which an XML designer expresses the
URL use in the design.
2. XML is a metalanguage. HTML is an application.
This is worth noting because as a metalanguage, an
XML designer might choose to break up or use
a URL in many ways not anticipated by other
application designers. While this makes life
hard for the XML software designer, it it nonetheless
a fact of life for metalanguage applications.
It may impair the interoperability of XML
applications in the same way current SGML
applications do not interoperate, that is, without
a transform, it is meaningless to inline a
TEI document into a MIL-PRF-87269 database.
3. If XML is indeed a metalanguage, it's URL
and link definitions should be capable of
declaring the following VRML examples. Whether this
is *worth* declaring is an application issue.
The point is, in the HyTime or TEI choices,
the winner should be capable of declaring the
following examples.
Here are examples from VRML. First, VRML
defines a URL as a field type. Specifically:
url [ ] is an exposedField of type MFString
An exposedField has an implied eventIn and
eventOut (think of it as an input and output jack)
to connect ROUTEs. There are several exposedFields
in VRML and more can be added by PROTOtypes.
An MF string is a space or comma delimited set
of characters, typically, options.
While the URL itself is defined by the RFC
as has been described in other posts, the
VRML application only cares that it is a string.
This allows the semantics to be applied per
node type. Thus:
Inline { url ["myworld.wrl"] }
where an inline file resembles an SGML
subdoc in that it is an encapsulated namespace.
A defined name is not recognized if instanced
by a USE within the inlining file. A defined
name within the inlining file is not recognized by
an inlined file. The URL within the Inline
can contain multiple URL strings that define a
prioritized list of places to find the URL target.
This list is used to provide a high-to-low
redundant backup (e.g, local disk, local net, WAN, Web)
for each reference.
If a URL is resolved, it returns nodes which are
children of the group parent of the Inline node.
If empty, no action is taken (default). Implementations
can use other rules such as using one URL to read high
priority/high bandwidth, while using a lower priority on a
slower line.
The URL list can be changed using the set_url eventIn
implied by the definition of the URL as an exposedField.
Anchor { url [ ] parameter [ ]
where the URL field is also an exposedField of type MFString
and a prioritized list. It is the parameter field (also, an
exposedField MFString) which contains additional strings
used by the browser when a target page is read. These
fields depend on the browser for functionality. The default
is empty. The #syntax we are used to CAN be appended
to the URL string, but it is restricted to name a Viewpoint
in the target file. As in HTML, using ONLY #viewpoint
is a camera view in the local file. Set_parameter eventIns
are available because it is an exposedField.
Last but most revealing is the following
Script { url "myscript.js"
or
Script { url "javascript:
function set_position(pos, time) {
position = pos;
}
"
field...
eventIn
eventOut
}
where a Script node can use the actual text of the
script as long as the script notation is defined
as shown, eg., javascript: for that language, etc.
VRML does not REQUIRE support for any language.
It only requires that the script be indicated as shown.
These URL examples are provided in contrast to the
use of HTML anchors as examples of common
practice and to note that alternatives are used
in common Internet languages, are learnable,
and are being used everyday.
Len Bullard
Lockheed Martin
C2 Integration Systems
Received on Monday, 20 January 1997 15:47:08 UTC