- 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