simple-host sample application does not render sample forms correctly

I have created a project using the simple-host.cs sample found on this site. The only alterations made have been to subsititute a combobox for the text control because I am lazy and the addition of a button to launch IE so I can see if the rendering in Sidewinder is the same in IE. I have found that almost without exception the embedded rendering is not faithful to that which appears in IE; it does not display all controls. Should they not be identical?

These are the samples forms I have been using:

http://svn.x-port.net/svn/public/samples/custom-control-tutorial/silverlight-clock/clock.html
http://svn.x-port.net/svn/public/samples/fpdotcom/object/searching-amazon.html
http://svn.x-port.net/svn/public/samples/fpdotcom/object/choices-and-selects.html
http://svn.x-port.net/svn/public/samples/fpdotcom/object/composite-controls.html
http://svn.x-port.net/svn/public/samples/fpdotcom/object/appearance/index.html
http://svn.x-port.net/svn/public/samples/fpdotcom/object/iptc-newsubjectviewer/index.html
http://www.mozilla.org/projects/xforms/samples/tax_form/TaxForm.xhtml
http://www.mozilla.org/projects/xforms/samples/calc_svg_1010.xhtml

These are the assemblies being referenced by the application:

Interop.DOM2CoreLib.dll v1.0.0.0
Interop.DOM2EventsLib.dll v2.0.0.0
Interop.RendererLib.dll v4.0.0.0

Tom Buxton

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Renderer differences

Hi Tom,

There are actually a number of differences you may see between a document rendered in Internet Explorer and the same document in our Renderer component. Some of these differences are intentional, others are problems which can arise from misuse.

In due course, we shall have the Renderer component comprehensively documented over on the Sidewinder developer site [1] but, in the meantime, I hope that the following points will prove helpful to you:

  1. The Renderer has a strict requirement that documents are well-formed, whereas Internet Explorer attempts to handle everything that is thrown at it. There was a bug in some versions of the Renderer that caused it to successfully return from failed calls to the Load... methods, so it is worth keeping in mind that documents which look okay in IE may not render at all using our component.
  2. Because it takes only well-formed documents, the Renderer is able to apply XSL transformation steps to documents as they are loaded. The ultimate aim of these steps is to produce a rendered document that appears as it would in other XHTML-conformant browsers, such as Mozilla Firefox. So it could be that some of the differences you mention are caused by these transformation steps. In later versions of the Renderer, we have externalised the stylesheet [2] so that it may be edited (or removed entirely) according to individual requirements.
  3. The renderer attempts to intelligently resolve certain namespaces in a document by automatically wiring in binary behaviors, such as formsPlayer or the Adobe SVG Viewer. Because of this, you do not need to have (and should not include) object tags in documents that are passed to the Renderer component. So, a difference that you will notice in the last two forms from your list above is that, in the Renderer, formsPlayer will be invoked to handle the XForms elements, whereas Internet Explorer will not render them correctly because there are no object tags.
  4. The renderer runs a simple conversion of CSS 3 namespace rules, which are not supported by Internet Explorer. So this may cause styles that are effectively ignored by Internet Explorer to become active when you view the document as rendered in our Renderer component.

By the way, if you are feeling particularly adventurous while looking at this stuff, you may want to try experimenting with version 5 of the Renderer, which is installed with version 2.1.1 of Sidewinder [3]. Some of the interfaces have changed from version 4, so it will require a little bit of investigation on your part, but there are some pretty hefty performance benefits and bug fixes in there that should make it worthwhile. Version 5 is considered stable and will be made part of formsPlayer (and documented) in the near future.

If the above doesn't help you out, give me a detailed description of some of the specific differences that you are concerned about and I will look into it more closely for you.

Regards,
Phil.

[1] http://sw.swcube.com/
[2] Program Files\Common Files\Sidewinder\Renderer\IE-HTML.xsl
[3] http://sourceforge.net/project/showfiles.php?group_id=204948

--
Phil Booth, formsPlayer
www.formsPlayer.com
standards. innovation.

Renderer differences

Phil,

I have used the FormsPlayer samples to avoid the exact situtation you are speaking of. How is a novice to understand and work through an implementation when the samples being offered will not render correctly? This is a barrier to adoption.

Thanks for the advise, I just wish it was not necessary to experience this frustration and anguish. The first impulse is to believe the samples are correct and that I have made a mistake in my implementation. To find out different may be validating but it opens the door to doubt about issues with other samples.

I hope my comments will be received as they are intended; to assist you in moving the project forward and remove barriers to adoption.

Tom

Mark Birbeck's picture

The new Sidewinder sites will make documentation easier

Hi Tom,

We do very much appreciate your feedback, and it will certainly help us move forward.

Just to clarify the situation, the difficulties you have had are exactly why Sidewinder was made a little difficult to find on this site for the last few months. We didn't want to remove it completely, but at the same time we knew we needed a better environment for it to move forward, since its relationship to formsPlayer was not always clear. So whilst we were preparing a separate site, and getting the code into shape to be open sourced, we made Sidewinder a little low-key.

But now we're ready to make some big changes. After some sterling preparatory work on Phil's part, the code has been made public,. accompanied by a Trac site, for those looking to help out with the development. At the same time, we've created a completely new Drupal site for Sidewinder users such as yourself, which will contain the up-to-date documentation, along with a complete range of samples. There will of course be forums there too, to help when issues arise.

So now that we have the environment we need, I think the documentation will follow on quite rapidly, and hopefully we can then help you to move forward. We'll let you know as soon as everything is ready.

Regards,

Mark

--
Mark Birbeck, formsPlayer
http://www.formsPlayer.com | http://internet-apps.blogspot.com
standards. innovation.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.