<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-3281241202682798750</id><updated>2009-10-13T15:12:27.024+13:00</updated><title type='text'>Internet Forms</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-3050186025987430232</id><published>2008-11-25T22:16:00.006+13:00</published><updated>2009-01-01T11:25:49.933+13:00</updated><title type='text'></title><content type='html'>I have not blogged for a while, in truth have just been busy.  Thought I would share some experiences with the world.&lt;br /&gt;First the news.&lt;br /&gt;Mozzie 1.8 is still going well, probably because I have left it alone ;-)&lt;br /&gt;&lt;br /&gt;There is a new version, it runs on Firefox 3 and incorporates all of the new stuff being done by the team working on the XForms plug-in, as well as some goodies.   It will be called 2.9 to keep with the tradition of incremental releases.&lt;br /&gt;So what will be in it:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;All of the latest trunk of the Mozilla XForms&lt;/li&gt;&lt;li&gt;Extra functions for xpath (choose, etc) as well as some xslt functions.&lt;/li&gt;&lt;/ul&gt;One of the areas where the xforms implementation differed from the mozilla code base was that repeats could be represented as tables.  With Firefox 3.0 this is no longer needed as you can use css to do the same thing.&lt;br /&gt;&lt;br /&gt;Expect this early next year.&lt;br /&gt;&lt;br /&gt;The other side of the coin is what has been keeping us busy, and that has been our SAAS/PAAS (should it be called S-PAAS?) which is an XML platform for delivering services.&lt;br /&gt;&lt;br /&gt;It is intended to not be an open source product rather than it is targeted at ISP's who don't want to loose their customers to Amazon/Google/MS-Azure platforms.  It is a an XML standards based platform for collaborative software delivery.&lt;br /&gt;The only issue is that one of the core technologies is &lt;a href="http://xproc.org/"&gt;XProc&lt;/a&gt; and the standardization of that is taking a while.&lt;br /&gt;The idea is that it is an SOA platform with a standards flavor,so that you can move between any ISP with pure XML markup (no code or library dependencies).&lt;br /&gt;&lt;br /&gt;It will be released at the same time as Mozzie 2.9 as that forms a core component of the forms delivery platform.&lt;br /&gt;&lt;br /&gt;I will blog over the next few months with the details.  For now keep using XForms and XML standards....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-3050186025987430232?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/3050186025987430232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=3050186025987430232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3050186025987430232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3050186025987430232'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2008/11/i-have-not-blogged-for-while-in-truth.html' title=''/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-494558772280201083</id><published>2007-09-18T10:06:00.000+12:00</published><updated>2007-09-18T10:13:26.257+12:00</updated><title type='text'>Mozzie 1.8.0 Released</title><content type='html'>We have been using release 1.8.0 quite a bit now and think it is stable enough to release for more testing and comments.&lt;br /&gt;There are 2 releases:&lt;br /&gt;&lt;br /&gt;MozzIE.1.8.0.xpi&lt;br /&gt;This is an XPI that allows testing of forms within Firefox 2.0.0.6&lt;br /&gt;Since there are a lot of extension functions and new capability that is not in the Firefox version, this will help anyone developing to test forms.&lt;br /&gt;&lt;br /&gt;MozzIE.1.8.0.exe&lt;br /&gt;This is the Internet explorer plug-in that will add XHTML+XForms support to Internet Explorer.  It includes the xforms engine that is packaged within the XPI.&lt;br /&gt;&lt;br /&gt;The major features of this release are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Code from the Mozilla Project Xforms 0.8 has been merged into the project.&lt;/li&gt;&lt;li&gt;EXSLT functions have been implemented for math and date.&lt;/li&gt;&lt;li&gt;Some xforms 1.1 functionality is complete (most notably if() and while() on actions).&lt;/li&gt;&lt;/ul&gt;Please try this release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-494558772280201083?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/494558772280201083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=494558772280201083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/494558772280201083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/494558772280201083'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/09/mozzie-180-released.html' title='Mozzie 1.8.0 Released'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-3523626015946505833</id><published>2007-05-05T11:56:00.000+12:00</published><updated>2007-05-05T12:09:18.742+12:00</updated><title type='text'>MozzIE 1.7.1</title><content type='html'>I have changed the numbering conventions on the MozzIE project.  The change is to make it more aligned with the core XForms project that MozzIE comes from.  The release numbers now represent the XForms plug-in for firefox build numbers.  So 1.7 is based on the 0.7 Firefox XPI.&lt;br /&gt;When the Firefox buuild changes for 0.8 hit the Mozilla tree it will take me a couple of days to pull the changes into MozzIE and release 1.8.&lt;br /&gt;The minor build number (1.x.m) is the MozzIE release number.&lt;br /&gt;There are some additions to MozzIE not found in the Firefox releases.  Here is a list:&lt;br /&gt;&lt;br /&gt;1. Repeats are fully implemented and all of the W3 tests pass.  We also support having repeats as a table body.&lt;br /&gt;2. Schema validation and types work for attributes as well as elements.&lt;br /&gt;3. The XForms 1.1 functions of days-to-date(), second-to-dateTime(), local-date(), local-dateTime() and digest() are implemented.  The other 1.1 functions are stubbed out but will be working in 1.7.2.&lt;br /&gt;4. The bind(IDREF) function is implemented, this is slated to appear in xforms 1.2 but I found it so useful that I decided to implement it sooner.  It really tidies up the XForms code.  The only thing you need to be really careful of is that you don't create a circular dependency.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-3523626015946505833?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/3523626015946505833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=3523626015946505833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3523626015946505833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3523626015946505833'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/05/mozzie-171.html' title='MozzIE 1.7.1'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-3191095562404250438</id><published>2007-03-15T14:26:00.000+13:00</published><updated>2007-03-15T14:51:14.888+13:00</updated><title type='text'>XProc XSD</title><content type='html'>I have done an XSD for XProc and placed it into the Visual Studio Intellisense zip file located in the XSP.NET &lt;a href="http://xsp-net.sourceforge.net/wiki/index.php/Files"&gt;Files&lt;/a&gt; Wiki page.&lt;br /&gt;Unfortunately the xproc working group has decided to base the syntax on RELAX NC rather than schema definitions.  Just when the community was getting used to something (xml schema) some bright spark thinks of something to make everything different again!&lt;br /&gt;Also located there is a small xhtml page that demonstrates using xproc to format an xform at the server.  This is intended to be a test case only (actually one of the unit tests of XSP.NET 2.0) but it shows how XProc can be used to perform what would have been done using scripts in the past.&lt;br /&gt;XSP.NET 2.0 is coming along well, and the pipeline is already implementing the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; xml &lt;/li&gt;&lt;li&gt; xml:lang &lt;/li&gt;&lt;li&gt; xml:base &lt;/li&gt;&lt;li&gt; exslt:dates-and-times &lt;/li&gt;&lt;li&gt; exslt:common &lt;/li&gt;&lt;li&gt; exslt:math &lt;/li&gt;&lt;li&gt; exslt:random &lt;/li&gt;&lt;li&gt; exslt:regular-expressions &lt;/li&gt;&lt;li&gt; exslt:sets &lt;/li&gt;&lt;li&gt; exslt:strings &lt;/li&gt;&lt;li&gt; xml:xpointer &lt;/li&gt;&lt;li&gt; xml:xinclude &lt;/li&gt;&lt;li&gt; xml:xproc &lt;/li&gt;&lt;/ul&gt;The xproc processor is not complete yet and the &lt;a href="http://xsp-net.sourceforge.net/wiki/index.php/XSP.NET:Community_Portal"&gt;XSP.NET Community Portal&lt;/a&gt; has quite a bit of info about how the processor hangs together.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-3191095562404250438?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/3191095562404250438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=3191095562404250438' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3191095562404250438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3191095562404250438'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/03/xproc-xsd.html' title='XProc XSD'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-431062723196328168</id><published>2007-03-07T13:59:00.000+13:00</published><updated>2007-03-07T14:33:10.942+13:00</updated><title type='text'>XForms Intellisense for Visual Studio 2005</title><content type='html'>I find Visual Studio to be a great development environment, and even better when you can edit your source code files with Intellisense.&lt;br /&gt;Visual Studio 2005 added support fo XML intellisense using the xml\Schemas directory however the supplied xhtml.xsd file did not support xforms intellisense for xhtml files. So I did something about this and modified the xsd to be xforms 1.1 aware:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_TstkRbID1Ko/Re4PRtS0KSI/AAAAAAAAAAM/sl-jobnFgME/s1600-h/xfi.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_TstkRbID1Ko/Re4PRtS0KSI/AAAAAAAAAAM/sl-jobnFgME/s320/xfi.png" alt="" id="BLOGGER_PHOTO_ID_5038981829964867874" border="0" /&gt;&lt;/a&gt;As you can see when I create a file with the correct namespace declarations and the XHTML 1.1 strict DTD, the xml editor now knows that a &amp;lt;head&amp;gt; can have an xforms:model and within that it supports an xforms:instance (also note that the document annotations are available).&lt;br /&gt;Rather cool I think.  I don't really see xforms as being a wysiwyg language, much the same as writing c++ code using uml is like poking yourself in the eye with a sharp stick.  You can do it, but it will hurt :-&gt;&lt;br /&gt;I have uploaded the file Schemas.zip to the xsp.net wiki.  The page to look at is the &lt;a href="http://xsp-net.sourceforge.net/wiki/index.php/Files"&gt;Files page&lt;/a&gt;.&lt;br /&gt;Extract the contents (all of the xsd files) to the directory:&lt;br /&gt;C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas&lt;br /&gt;(this could be different if you did not install visual studio to the default location).&lt;br /&gt;I do not recommend trying to develop xforms using aspx pages rather use xsp.net and do all your markup as strict xhtml.  The highlighting does not work very well if you are using an html dialect and miss the correct namespace declarations.&lt;br /&gt;I will be updating this as XSP.NET becomes XProc compliant (and XProc becomes a reality).  I am doing a port of the appache XML:fop project to xsp.net so will also be adding the support for XML:FO to the schemas soon.  Will post when this is complete.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-431062723196328168?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/431062723196328168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=431062723196328168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/431062723196328168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/431062723196328168'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/03/xforms-intellisense-for-visual-studio.html' title='XForms Intellisense for Visual Studio 2005'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_TstkRbID1Ko/Re4PRtS0KSI/AAAAAAAAAAM/sl-jobnFgME/s72-c/xfi.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-2326913206997038565</id><published>2007-02-27T09:23:00.000+13:00</published><updated>2007-02-27T09:32:38.107+13:00</updated><title type='text'>XSP.NET and MozzIE Wiki</title><content type='html'>I have converted the &lt;a href="http://xsp-net.sourceforge.net"&gt;XSP.NET&lt;/a&gt; and &lt;a href="http://mozzie.sourceforge.net"&gt;MozzIE&lt;/a&gt; sites to using &lt;a href="http://www.mediawiki.org"&gt;mediawiki&lt;/a&gt;.&lt;br /&gt;The sites should get more content on how to do XForms/XHTML and XProc over the comming weeks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-2326913206997038565?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/2326913206997038565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=2326913206997038565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/2326913206997038565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/2326913206997038565'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/02/xspnet-and-mozzie-wiki.html' title='XSP.NET and MozzIE Wiki'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-3257548781962687579</id><published>2007-02-06T22:50:00.000+13:00</published><updated>2007-02-06T23:01:21.829+13:00</updated><title type='text'>MozzIE Beta2</title><content type='html'>A beta release for Version 2.0 of &lt;a href="http://www.sourceforge.net/projects/mozzie"&gt;MozzIE&lt;/a&gt; has been posted to sourceforge.&lt;br /&gt;This release is built against the Gecko 1.8 rendering engine which is the same as is used in the Firefox Release 2.0.0.1 and the xforms is the 0.7 release of the firefox xforms engine.&lt;br /&gt;There are patches however to add schema support for attributes as well as using repeats as a table body.&lt;br /&gt;On the trunk of the Firefox browser, both of these are nearing inclusion into the xforms installer.  This will come back to MozzIE in release 3.0 which will use the Gecko 1.9 engine and what is hopefully a fully xforms 1.1 compliant processor.&lt;br /&gt;MozzIE will probably have 1 more Beta, not that any rendering functionality will change, but there is initial support for the 3 tools that are essential for xforms development.  Venkman, the javascript debugger which makes making XBL controls a snap.  The DOM Inspector which is a must for any serious XHTML work and the error console.  Hopefully we will also get the xforms buddy which was created by &lt;a href="http://www.beaufour.dk/blog/index.xml"&gt;Allan Beaufour&lt;/a&gt;.&lt;br /&gt;The tools do not yet work 100% as there is problems with the javascript engine that I have not had time to sort out.&lt;br /&gt;The real goal of this release was to get the stable version of Gecko into the build and to make the GUI complete, even if there are some issues.&lt;br /&gt;Please download and enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-3257548781962687579?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/3257548781962687579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=3257548781962687579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3257548781962687579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/3257548781962687579'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/02/mozzie-beta2.html' title='MozzIE Beta2'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-5749506618367587396</id><published>2007-02-01T16:14:00.000+13:00</published><updated>2007-02-03T08:51:46.489+13:00</updated><title type='text'>XBL in forms</title><content type='html'>One of the nicest features of MozzIE and Firefox is XBL.  I use this a lot to bind custom renderings to xform controls.  This example changes the default xf:output to one that if you put an html:mediatype with a type of text/html will render the contents as an HTML fragment.&lt;br /&gt;&lt;br /&gt;Firstly we create 2 files which will hold the XBL.&lt;br /&gt;&lt;br /&gt;html-output.xml:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;bindings xmlns="http://www.mozilla.org/xbl"&lt;br /&gt;        xmlns:svg="http://www.w3.org/2000/svg"&lt;br /&gt;   xmlns:xhtml="http://www.w3.org/1999/xhtml"&lt;br /&gt;   xmlns:xbl="http://www.mozilla.org/xbl"&lt;br /&gt;   xmlns:xforms="http://www.w3.org/2002/xforms"&lt;br /&gt;   xmlns:mozType="http://www.mozilla.org/projects/xforms/2005/type"&amp;gt;&lt;br /&gt;&amp;lt;!-- XBL to change output to one with a media type --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- OUTPUT: &amp;lt;HTML&amp;gt; --&amp;gt;&lt;br /&gt;&amp;lt;binding id="mozzie-xformswidget-output-html"&lt;br /&gt;       extends="chrome://xforms/content/xforms.xml#xformswidget-base"&amp;gt;&lt;br /&gt;&amp;lt;content&amp;gt;&lt;br /&gt;  &amp;lt;children includes="label"/&amp;gt;&lt;br /&gt;  &amp;lt;xhtml:span anonid="content" /&amp;gt;&lt;br /&gt;  &amp;lt;children/&amp;gt;&lt;br /&gt;&amp;lt;/content&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;implementation&amp;gt;&lt;br /&gt;  &amp;lt;field name="_escapeUpdate"&amp;gt;false&amp;lt;/field&amp;gt;&lt;br /&gt;  &amp;lt;method name="refresh"&amp;gt;&lt;br /&gt;    &amp;lt;body xmlns="http://www.mozilla.org/xbl"&amp;gt;&lt;br /&gt;      var textSpan = this.ownerDocument.getAnonymousElementByAttribute(this, "anonid", "content");&lt;br /&gt;&lt;br /&gt;      var doc = this.ownerDocument;&lt;br /&gt;      var r = doc.createRange();&lt;br /&gt;      r.selectNodeContents(textSpan);&lt;br /&gt;      r.deleteContents();&lt;br /&gt; &lt;br /&gt;      var val = this.stringValue;&lt;br /&gt;      var df;&lt;br /&gt; &lt;br /&gt;      if(val.length != 0)&lt;br /&gt;        df = r.createContextualFragment(val);&lt;br /&gt;      else&lt;br /&gt;        df = doc.createTextNode(String.fromCharCode(0xa0));&lt;br /&gt; &lt;br /&gt;      textSpan.appendChild(df);&lt;br /&gt; &lt;br /&gt;      return true;&lt;br /&gt;    &amp;lt;/body&amp;gt;&lt;br /&gt;  &amp;lt;/method&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/implementation&amp;gt;&lt;br /&gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;&amp;lt;/bindings&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;and a corresponding css file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;@namespace url(http://www.w3.org/2002/xforms);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;@namespace html url(http://www.w3.org/1999/xhtml);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;@namespace mozType url(http://www.mozilla.org/projects/xforms/2005/type);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;/* replace output with one that handles html mediatype */&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;output[mozType|type="http://www.w3.org/2001/XMLSchema#string"][html|mediatype="text/html"]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;-moz-binding: url('xforms.xml#les-xformswidget-output-html');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we include these into out xform (not all code is shown here).&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;html xmlns:ev="http://www.w3.org/2001/xml-events"&lt;br /&gt;         xmlns:xforms="http://www.w3.org/2002/xforms"&lt;br /&gt;         xmlns:xhtml="http://www.w3.org/1999/xhtml"&lt;br /&gt;         xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;   &amp;lt;link rel="contents" href="html-output.xml" /&amp;gt;&lt;br /&gt;   &amp;lt;link type="text/css" rel="stylesheet" href="html-output.css" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- All of the definitions for the xforms model go here --&gt;&lt;br--&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;xf:output bind="..." mediatype="text/html"&amp;gt;&lt;br /&gt;&amp;lt;xf:label&amp;gt;HTML Text&amp;lt;/xf:label&amp;gt;&lt;br /&gt;&amp;lt;/xf:output&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;When rendered the contents of the bind will be interpreted as HTML and displayed.  This technique can be applied to other markup to display SVG for example.&lt;br /&gt;&lt;br /&gt;&lt;/br--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-5749506618367587396?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/5749506618367587396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=5749506618367587396' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/5749506618367587396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/5749506618367587396'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/02/xbl-in-forms.html' title='XBL in forms'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-7652351473053013742</id><published>2007-02-01T11:37:00.000+13:00</published><updated>2007-02-01T14:06:41.542+13:00</updated><title type='text'>XSP.NET</title><content type='html'>The first release of &lt;a href="http://xsp-net.sourceforge.net/"&gt;XSP.NET&lt;/a&gt; is available on  sourceforge.&lt;br /&gt;XSP.NET is an HTTP Handler and build provider for .NET version 2.  The important point about XSP.NET is that it understands schemas and xforms instances when rendering xhtml pages.  It is identical in concept to ASPX pages in that the markup is parsed and a temporary assembly is created to render the pages.&lt;br /&gt;The obvious question is why write another version of an aspx page.  There are several reasons.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;ASPX pages and asp.net controls are HTML based.  Although you can ask for an aspx page to render as strict xhtml many controls do not work as expected.&lt;/li&gt;&lt;li&gt;The MozzIE plug-in and Firefox browsers need a content type of application/xhtml+xml and if you configure each aspx page to be served as this then most stop working.  So you have a lot of work to do to configure your web site.&lt;/li&gt;&lt;li&gt;ASPX uses master pages and processing instructions to generate pages, and most controls have lots of embedded javascript.  This does not lend itself very well to server-side xml processing using xslt (Believe me I tried :-)&lt;/li&gt;&lt;/ol&gt;Since the interest of this column and the MozzIE project is strict xhtml and xforms having to use html technologies was a pain.&lt;br /&gt;XSP.NET pages have the extension .xhtml and can exist on the same site as aspx pages.&lt;br /&gt;XSP.NET generates pages using a form of xml:include, but it is not pure xml:include.  One day they will probably be the same but the .NET framework does not support xml:base which is really required for xml:include to work.&lt;br /&gt;Pages can just be very simple xhtml or include other pages or web services.  One of the best patterns of use is to include the WSDL from a web service as a schema in the model of a web page:&lt;br /&gt;&lt;br /&gt;    &amp;lt;xforms:model id="mdlForm"&amp;gt;&lt;br /&gt;        &amp;lt;!-- Web service schema --&amp;gt;&lt;br /&gt;        &amp;lt;xsp:include src="~/services/les.asmx?WSDL" transform="../stylesheets/ExtractSchema.xslt"&amp;gt;&lt;br /&gt;        &amp;lt;!-- Soap Schema --&amp;gt;&lt;br /&gt;        &amp;lt;xsp:include file="../schema/soap.xsd" transform="../stylesheets/ExtractSchema.xslt"/&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- model that contains all constants that are defined in the schema --&amp;gt;&lt;br /&gt;  &amp;lt;xsp:include file="../schema/LES.xsd" transform="../stylesheets/ExtractConstants.xslt"/&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- lookup item web service and model --&amp;gt;&lt;br /&gt;  &amp;lt;xsp:include file="../models/LookupItem.xhtml" transform="../stylesheets/ExtractModel.xslt"/&amp;gt;&lt;br /&gt;&amp;lt;/xf:model&amp;gt;&lt;br /&gt;&lt;br /&gt;The examples extract a schema from a live web service and embed it into the xforms model.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:stylesheet version="1.0" xsl="http://www.w3.org/1999/XSL/Transform" xsd="http://www.w3.org/2001/XMLSchema"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:output indent="yes" method="xml"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- this template must be called with the name of the id attribute--&amp;gt;&lt;br /&gt;&amp;lt;xsl:param name="service-name"&amp;gt;&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:template match="//xsd:schema"&amp;gt;&lt;br /&gt;    &amp;lt;xsl:variable name="schema-name" select="name(.)"&amp;gt;&lt;br /&gt;    &amp;lt;xsl:variable name="target-namespace" select="./@targetNamespace"&amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;xsl:element name="contents" xmlns="urn:schemas-vistic-net:xsp"&amp;gt;&lt;br /&gt;        &amp;lt;xsl:element name="{$schema-name}" namespace="http://www.w3.org/2001/XMLSchema"&amp;gt;&lt;br /&gt;            &amp;lt;xsl:for-each select="descendant-or-self::*/namespace::*"&amp;gt;&lt;br /&gt;                &amp;lt;xsl:copy&amp;gt;&lt;br /&gt;            &amp;lt;/xsl:copy&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;xsl:attribute name="targetNamespace"&amp;gt;&lt;br /&gt;                &amp;lt;xsl:value-of select="$target-namespace"&amp;gt;&lt;br /&gt;            &amp;lt;/xsl:value-of&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;!-- for now just copy the whole schema as we do not extract                      a single type, and its referenced types.             --&amp;gt;&lt;br /&gt;            &amp;lt;xsl:copy-of select="./*"&amp;gt;&lt;br /&gt;        &amp;lt;/xsl:copy-of&amp;gt;&lt;br /&gt;    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;&amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/xsl:element&amp;gt;&lt;br /&gt;&lt;br /&gt;This is from a real site using XSP and will become part of the sample site I am working on.&lt;br /&gt;This ability to develop sites using modules then have them rendered as a complete page is similar to cocoon, but not as complicated.&lt;br /&gt;So have a go, I will be posting more samples in the next few days which should help people get started with this ASP.NET add-on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-7652351473053013742?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/7652351473053013742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=7652351473053013742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/7652351473053013742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/7652351473053013742'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/02/xspnet.html' title='XSP.NET'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3281241202682798750.post-479111821675044768</id><published>2007-01-24T11:32:00.000+13:00</published><updated>2007-01-24T11:50:38.975+13:00</updated><title type='text'>Content Types</title><content type='html'>I have been working hard on the Beta2 for MozzIE and have been looking at the content types we use.  Found that the plug-in did not render .svg file so have added a content type for that.&lt;br /&gt;The mechanism used by MozzIE to switch from the MSHTML Active Document to MozzIE is the one documented by Microsoft.  It is a very open and easy to use technique that  is well documented.&lt;br /&gt;The technique and restrictions are well documented in this article&lt;br /&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2brows.mspx#ECVBG"&gt;&lt;span style="font-size:100%;"&gt;Changes to Functionality in Microsoft Windows XP Service Pack 2&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;As part of this we handle the following mime content types:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;xhtml+xforms - application/xhtml+xml&lt;/li&gt;&lt;li&gt;xul - application/vnd.mozilla.xul+xml&lt;/li&gt;&lt;li&gt;svg - image/svg+xml&lt;/li&gt;&lt;/ul&gt;There is no technical reason why we could not handle xml as well, however the default behavior of Internet Explorer would need to change, which is something we have not wanted to do.  All of the enhancements have added to IE, not removed any existing functionality.&lt;br /&gt;So it is critical that web site authers wanting to use MozzIE set the content type correctly for the pages being served.  Apache based servers do this fairly well, MS IIS sites need a bit of configuration however.&lt;br /&gt;Possibly we will support more mime types as the project progresses.  One idea is to add a custom page to the installer that allows an experienced user to select the mime types to be handled by MozzIE and those that stay with IE.&lt;br /&gt;One issue not yet resolved is that when a file is opened, IE does doctype sniffing and sees most things as XML rather than using the content handler.  We are working to find a solution to this, for now the only option is to download the file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3281241202682798750-479111821675044768?l=internet-forms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://internet-forms.blogspot.com/feeds/479111821675044768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3281241202682798750&amp;postID=479111821675044768' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/479111821675044768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3281241202682798750/posts/default/479111821675044768'/><link rel='alternate' type='text/html' href='http://internet-forms.blogspot.com/2007/01/content-types.html' title='Content Types'/><author><name>Peter Nunn</name><uri>http://www.blogger.com/profile/08375567043923496032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='10731333820790515253'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>