[X3D-Public] X3D and HTML 5

Joe D Williams joedwil at earthlink.net
Thu Apr 23 12:11:59 PDT 2009

HI All,

Since HTML 5 is becoming a hot topic and many X3D authors are 
interested in publishing X3D as part of an html or xhtml web page, I 
thought I would see what we think about it.

Of the elements described in
"HTML 5 A vocabulary and associated APIs for HTML and XHTML"
the important entries for X3D are:

4.8.5 The object element
"an external resource ... either be treated as an image, as a nested 
browsing context, or as an external resource to be processed by a 


4.8.6 The param element
name-value pairs passed to the plug-in when the plugin starts running 
of is connected to the host DOM.

Together, these elements provide the structure for defining the mime 
type, thus the plugin to be used, and running the content. The param 
elements are used only as children of the object element and provide a 
means to pass runtime information between the host DOM and the plugin.

Not of immediate interest are:

4.8.2 The img element
"non-interactive, optionally animated, image resource that is neither 
paged nor scripted."


4.8.3 The iframe element
" ... a nested browsing context ... "


4.8.4 The embed element
" ... an integration point for an external (typically non-HTML) 
application or interactive content ..."

Of these, the img element is entirely passive with respect to its 
container and although it may be an somthing like an animated gif, the 
important point is that it is a static element that cannot contain 
internally or externaly scripted live content. The iframe element is a 
container of potentialy active and navigable content, but X3D would 
more likely use an iframe to contain an object element. The embed 
element might be use as a container for an X3D scene, but I think the 
standard wording and general intent shows that embed is included for 
legacy reasons and has a narrower scope than the object element.

Thus, to focus on the object element and its contained param elements, 
the general idea is that the host browser looks at the mime type and 
if there is a plugin available the plugin is started, then the 
attributes and parms are passed to the plugin; everything runs as 
expected and all is cool.

HTML 5 adds a detailed algorithm for getting the plugin running and 
retrieving content for the plugin including the concepts of sandboxing 
and of the nested browsing context.
More later,

Thanks and Best Regards,

More information about the X3D-Public mailing list