Kimber on VRML and SGML/XML

Date: Wed, 14 Jan 1998 16:28:28 -0800
From: "W. Eliot Kimber" <eliot@isogen.com>
Organization: ISOGEN International Corp.
To: xml-dev@ic.ac.uk
Subject: Re: DOCTYPE (was Re: Announcement: SAX 1998-01-12 Draft)

len bullard wrote:
> 
> For those who might have missed it,
> the VRML Consortium has approved a
> working group to look at issues
> of a binding of VRML, XML, DHTML
> and DOM.  Rob Glidden is heading
> up the effort which kicked off
> last week with a meeting in San Jose.

I've already responded personally to a note from Chris Marrin, who had
been informed about my VRML as SGML work (see
"http://www.drmacro.com/vrml").  Transliterating VRML nodes into SGML
syntax is straight forward (at least for 1.0, don't know about 2.0
'cause I don't know what it looks like).

Using XML for VRML is an excellent example of how SGML architectures can
be put to use.  For example, assume we have a VRML architecture that
defines element types corresponding to the node types in VRML, e.g.,
Cube, Cone, Light, etc.  A plain vanilla VRML document might look
something like this:

<?XML 1.0?>
<vrml-world version="1.0">
 <cube>
  <width>100</width>
  <height>100</height>
  <depth>100</depth>
 </cube>
</vrml-world>

Now say you want to define your own specialized VRML node types.  Within
an XML context, you can do this with architectures:

<?XML 1.0?>
<?IS10744:arch name="VRML" dtd-systemid="http://www.vrml.org/vrml.dtd"?>
<vrml-world>
 <big-block VRML="cube">
  <width>1000</width>
  <height>1000</height>
  <depth>1000</depth>
 </big-block>
</vrml-world>

I've now "subclassed" cube into the type "big-block" without obscuring
the connection back to the VRML-defined types.  I still have to do all
the definition of my big-block type--I don't get any syntax shortcuts,
but you can't have everyting [I realized recently that this is very much
like the "implements" feature in VB5--it lets you declare conformance to
an "interface" defined elsewhere, but you still have to provide all the
parts locally because VB5, like SGML architectures, is not truly object
oriented in the purest sense.]

With today's tools, all I have to do to make a working world out of this
second document is write a Perl script or DSSSL spec or whatever to
generate the appropriate VRML from the SGML version of it.  It's not
very hard because the transformation is so simple. 

I think that could be pretty useful, especially once VRML browsers let
you associate presentation styles with element types. After all,
rendering 3-D objects is not fundamentally different in the abstract
from rendering 2-D objects, it's still a matter of apply presentation
style.  So why shouldn't XSL be just as useful for VRML worlds as for
2-D documents?

Cheers,

Eliot

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)