<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-AU"><title type="html">cjwalker's WebLog</title><subtitle type="html">Christopher Walker | Microsoft Services | Brisbane Australia</subtitle><id>http://blogs.msdn.com/cjwalker/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/cjwalker/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2005-05-19T18:59:00Z</updated><entry><title>MIX UX announced</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2008/01/30/mix-ux-announced.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2008/01/30/mix-ux-announced.aspx</id><published>2008-01-30T06:18:47Z</published><updated>2008-01-30T06:18:47Z</updated><content type="html">&lt;p&gt;I'm just a little bit excited by the prospect. Originally I was hoping to glean what I could on user experience from the original session line-up. Now the decision will be easy - it's almost like a conference within a conference.&lt;/p&gt;  &lt;p&gt;Check it out &lt;a title="Visit MIX - The UX track" href="http://visitmix.com/2008/mixux.aspx"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7318443" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author></entry><entry><title>It's not cheating</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2007/12/20/it-s-not-cheating.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2007/12/20/it-s-not-cheating.aspx</id><published>2007-12-20T04:58:00Z</published><updated>2007-12-20T04:58:00Z</updated><content type="html">&lt;P&gt;If you know a uni or TAFE student keen to get their hands on Office Ultimate 2007 for a bargain basement price - check this out - &lt;A title=http://www.itsnotcheating.com.au/ href="http://www.itsnotcheating.com.au/" mce_href="http://www.itsnotcheating.com.au/"&gt;http://www.itsnotcheating.com.au/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.itsnotcheating.com.au/" mce_href="http://www.itsnotcheating.com.au/"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=89 alt=236x89_itsnotcheating_v2_1 src="http://blogs.msdn.com/blogfiles/cjwalker/WindowsLiveWriter/Itsnotcheating_A853/236x89_itsnotcheating_v2_1_3.gif" width=236 border=0 mce_src="http://blogs.msdn.com/blogfiles/cjwalker/WindowsLiveWriter/Itsnotcheating_A853/236x89_itsnotcheating_v2_1_3.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Advertising isn't my usual thing - but I am very impressed at what we're doing here for Aussie uni &amp;amp; TAFE students.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6811967" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author></entry><entry><title>User Experience enlightenment - the transition</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2007/12/13/user-experience-enlightenment-the-transition.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2007/12/13/user-experience-enlightenment-the-transition.aspx</id><published>2007-12-13T06:58:28Z</published><updated>2007-12-13T06:58:28Z</updated><content type="html">&lt;p&gt;Over the past six months I have been transitioning into the &lt;a href="http://en.wikipedia.org/wiki/User_experience"&gt;User Experience&lt;/a&gt; realm. User interface design has been a simmering passion of mine since my earliest experience with computers. So from here on in you can expect to see posts on techniques I am trying out with clients, rants about bizarre designs, and helping you sell and spread the UX message in your organisations - and of course it wouldn't be an Microsoft blog if I didn't occasionally mention the &lt;a href="http://visitmix.com/2008/index.html"&gt;MIX&lt;/a&gt; conference, &lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa663326.aspx"&gt;WPF&lt;/a&gt;, &lt;a href="http://silverlight.net/"&gt;Silverlight&lt;/a&gt; and the &lt;a href="http://www.microsoft.com/expression/"&gt;Expression&lt;/a&gt; tools.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6754838" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="User Experience" scheme="http://blogs.msdn.com/cjwalker/archive/tags/User+Experience/default.aspx" /></entry><entry><title>Welcome to the team Angus Logan</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/11/30/498076.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/11/30/498076.aspx</id><published>2005-11-30T01:41:00Z</published><updated>2005-11-30T01:41:00Z</updated><content type="html">&lt;P&gt;well he's not in my office, or with Microsoft Services, but at least he's with Microsoft Australia!! Glad to have him on-board. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msmvps.com/anguslogan/archive/2005/11/17/75847.aspx"&gt;http://msmvps.com/anguslogan/archive/2005/11/17/75847.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=498076" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author></entry><entry><title>SharePoint User Group for Brisbane</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/11/09/490710.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/11/09/490710.aspx</id><published>2005-11-09T09:05:00Z</published><updated>2005-11-09T09:05:00Z</updated><content type="html">&lt;P&gt;Adam Clark has kicked off the Brisbane SharePoint User Group with a first meeting today.&lt;/P&gt;
&lt;P&gt;The plan is to get together over lunch (12:00-1:30) on the 2nd Wednesday of each month at the Microsoft office, Level 9, Waterfront Place, 1 Eagle St, Brisbane.&lt;/P&gt;
&lt;P&gt;Today's meeting was very informal, just getting a few interested parties together to get some input into future meetings. &lt;/P&gt;
&lt;P&gt;In general the idea is to get technically minded people together to share experiences, techniques, best practices etc and hopefully impart new knowledge to each other around:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SharePoint integration with workflow, BizTalk, InfoPath and other MS products 
&lt;LI&gt;SharePoint development - site definitions, customisations, web parts 
&lt;LI&gt;SharePoint/CMS - what's coming with the next release 
&lt;LI&gt;Applying SharePoint to real-life business scenarios 
&lt;LI&gt;General SharePoint tips and tricks&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Please contact Adam directly if you'd like an invite to the next meeting &lt;A href="mailto:Adam@scrumpa.net"&gt;Adam@scrumpa.net&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#ff0000&gt;&lt;STRONG&gt;UPDATE::: &lt;/STRONG&gt;&lt;/FONT&gt;&lt;A href="http://bspug.officeisp.net/default.aspx"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#ff0000&gt;&lt;STRONG&gt;http://bspug.officeisp.net/default.aspx&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#ff0000&gt;&lt;STRONG&gt;&amp;nbsp;the web site is now up and running.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=490710" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>Pre-populating a document library with pages/files using ONET.XML</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/10/26/484879.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/10/26/484879.aspx</id><published>2005-10-26T01:15:00Z</published><updated>2005-10-26T01:15:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN class=msg&gt;I recently came across a forum post that indicated that this wasn't possible - well just keep those challenges coming :)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=msg&gt;It IS possible to pre-populate a Document Library with files. &lt;BR&gt;&lt;BR&gt;Here goes (this adds a Web Part Page to a Document Library - obviously you could create a Document Library where the default page template is a Web Part Page)&lt;BR&gt;&lt;BR&gt;1. in your ONET.XML add a module under your existing Default module &lt;BR&gt;2. The name can be whatever &lt;BR&gt;3. Use the List ID from whichever Library you want your docs or pages to go to (look earlier in the ONET file for this) - Shared Documents in STS is &lt;FONT color=#ff0000&gt;101&lt;/FONT&gt; by default, likewise use the Url to specify the &lt;FONT color=#ff0000&gt;URL&lt;/FONT&gt; of the Document Library &lt;BR&gt;4. specify the &lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#ff0000&gt;Path&lt;/FONT&gt; to where your source files are (relative to the root Site Definition in the file system) &lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;SPAN class=msg&gt;&amp;lt;Module Name="randomNameForModule" List="&lt;FONT color=#000000&gt;101&lt;/FONT&gt;" Url="Shared Documents" Path="DOCTEMP\SMARTPGS"&amp;gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;5. you can then add FILE elements for each file &lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&amp;lt;File Name="NewDocument.aspx" Url="spstd1.aspx" Type="GhostableInLibrary" &amp;gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;... at this point you can also add web parts to web part pages using the AllUsersWebPart element &lt;/P&gt;
&lt;P dir=ltr&gt;6. Include the module in the Configuration (usually the one with&amp;nbsp;ID="0" Name="Default" - if you made a copy of the STS Site Def and just modified the default Team Site config)&lt;/P&gt;
&lt;P dir=ltr&gt;voi la &lt;BR&gt;&lt;BR&gt;the only gotcha I have found so far is when trying to add these new pages to a NavBar in ONET.XML - it seems that SharePoint uses one set of NavBars and FrontPage another (not quite, but it can appear that way) - I think it is problematic due to ghosting. &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=484879" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>30 new applications for SharePoint</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/08/05/447878.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/08/05/447878.aspx</id><published>2005-08-05T01:20:00Z</published><updated>2005-08-05T01:20:00Z</updated><content type="html">&lt;P&gt;These look pretty handy - I haven't looked under the covers yet - just discovered them today. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sppt/wssapps/default.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sppt/wssapps/default.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=447878" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>Microsoft Australia looking for Senior BizTalk Consultants</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/07/11/437294.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/07/11/437294.aspx</id><published>2005-07-11T01:36:00Z</published><updated>2005-07-11T01:36:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://notgartner.com/posts/1871.aspx"&gt;Mitch Denny&lt;/A&gt; puts it very nicely...&amp;nbsp; in a nutsehell&amp;nbsp;Microsoft Australia is after a couple of Senior Consultants with strong BizTalk experience for their Canberra and Sydney offices. Check out Mitch's post for details.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=437294" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="BizTalk" scheme="http://blogs.msdn.com/cjwalker/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Brisbane, Australia - Brisbane BizTalk Community - BrizTalk.org</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/06/05/425526.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/06/05/425526.aspx</id><published>2005-06-05T14:52:00Z</published><updated>2005-06-05T14:52:00Z</updated><content type="html">&lt;P&gt;A new special interest group has been formed for BizTalk users, managers, developers. &lt;/P&gt;
&lt;P&gt;If you are a Brisbane local and work with BizTalk please come and join in.&lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.briztalk.org/ href="http://www.briztalk.org/"&gt;&lt;FONT face=Arial size=2&gt;http://www.briztalk.org/&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=920085103-03062005&gt;&lt;EM&gt;"To identify and unite the expanding community of Microsoft BizTalk Server designers, developers, administrators and users&lt;BR&gt;in the Southeast Queensland area, providing a forum to share knowledge, information and experience."&lt;/EM&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=425526" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="BizTalk" scheme="http://blogs.msdn.com/cjwalker/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Sorting numeric values in a Data View when sourcing data from a web service</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/05/29/423096.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/05/29/423096.aspx</id><published>2005-05-29T11:05:00Z</published><updated>2005-05-29T11:05:00Z</updated><content type="html">&lt;P&gt;There is something quirky going on that I can't explain. If you add a simple XML file with no schema (with int and string elements) to the Data Source Catalog and open the Sort &amp;amp; Group dialog for the Data View you get the choice of sorting on elements containing numeric values as numeric values - and not as strings. This is shown in the dialog as &amp;lt;fieldname&amp;gt;(Number).&lt;/P&gt;
&lt;P&gt;For some strange reason this does not appear when you want to sort numeric values returned through a web service...&lt;/P&gt;
&lt;P&gt;Anyway, to fix it: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Select the desired sort field in the dialog.&lt;/LI&gt;
&lt;LI&gt;Edit the XSL - look for the dvt_1.body template, find the xsl:for-each and the xsl:sort within it that selects your sort field - add the attribute data-type="number"&lt;/LI&gt;
&lt;LI&gt;Voi la&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=423096" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>Adding page numbers to a paged Data View web part</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/05/28/422826.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/05/28/422826.aspx</id><published>2005-05-27T17:35:00Z</published><updated>2005-05-27T17:35:00Z</updated><content type="html">&lt;P&gt;I found it hard to believe that no one had posted something on this already...&lt;/P&gt;
&lt;P&gt;I think I have heard it grumbled now and again - it's nice that SharePoint Lists support paging - but where are the individual page numbers? why do I have to click Next, Next, Next!!!&lt;/P&gt;
&lt;P&gt;I can now end this misery and winging by adding page numbers to Data Views.&lt;/P&gt;
&lt;P&gt;The solution leverages the fact that the navigation links created by default pass a parameter indicating what row number to start rendering from. By looping through the row data and checking the current position we can simply output a page number ( &lt;FONT face="Courier New" size=2&gt;&lt;FONT face="Times New Roman"&gt;((position() - 1) div $RowLimit) + 1) )&lt;/FONT&gt; &lt;/FONT&gt;everytime we get to a row number that would be the start of the next page ( using position() mod $RowLimit ). I am not sure how efficient it is - happy to accept feedback on your experiences...&amp;nbsp; &lt;EM&gt;this is just a sample &lt;/EM&gt;- who knows how well it will work against your 10,000 rows of data :)&lt;/P&gt;
&lt;P&gt;This solution assumes you have created a Data View and changed its options to "Display items in sets of this size X" &amp;nbsp;&lt;/P&gt;
&lt;P&gt;To implement:&lt;/P&gt;
&lt;P&gt;1. Using FrontPage 2003, view the HTML (XSLT) source of your Data View&lt;/P&gt;
&lt;P&gt;2. Find &amp;lt;xsl:template name="dvt_1.navigation"&amp;gt; and add &amp;lt;xsl:param name="Rows"/&amp;gt; as the last param&lt;/P&gt;
&lt;P&gt;3. Somewhere in the &amp;lt;table&amp;gt; that is output in this template &lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P dir=ltr&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan="2" class="ms-vb"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:for-each select="$Rows"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:if test="(position() mod $RowLimit) = 1"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:attribute name="href"&amp;gt;javascript: &amp;lt;xsl:value-of xmlns:xsl="&lt;/FONT&gt;&lt;A href="http://www.w3.org/1999/XSL/Transform"&gt;&lt;FONT face="Courier New" size=2&gt;http://www.w3.org/1999/XSL/Transform&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New" size=2&gt;" select="ddwrt:GenFireServerEvent(concat('dvt_firstrow={',position(),'}'))"/&amp;gt;;&amp;lt;/xsl:attribute&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:value-of select="((position() - 1) div $RowLimit) + 1"/&amp;gt;&amp;lt;/a&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;xsl:text xmlns:ddwrt="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"&gt;&lt;FONT face="Courier New" size=2&gt;http://schemas.microsoft.com/WebParts/v2/DataView/runtime&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New" size=2&gt;" ddwrt:nbsp-preserve="yes" disable-output-escaping="yes"&amp;gt;&amp;amp;amp;nbsp;&amp;lt;/xsl:text&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/xsl:if&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/xsl:for-each&amp;gt;&lt;BR&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;4. Find &amp;lt;xsl:call-template name="dvt_1.navigation"&amp;gt; and add &amp;lt;xsl:with-param name="Rows" select="$Rows"/&amp;gt; as the last param&lt;/P&gt;
&lt;P dir=ltr&gt;This should be enough to get you started. You could add an &amp;lt;xsl:if test&amp;gt; statement to prevent the current page number from being created as a link.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=422826" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>the 'real' essential FrontPage/SharePoint tips are here</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/05/28/422825.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/05/28/422825.aspx</id><published>2005-05-27T17:32:00Z</published><updated>2005-05-27T17:32:00Z</updated><content type="html">&lt;P&gt;&lt;a href="http://blogs.msdn.com/frontpoint/"&gt;http://blogs.msdn.com/frontpoint/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;These tips are essential for any decent customisation of SharePoint using FrontPage. FrontPoint rocks.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=422825" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>Adding a form field to filter the contents of a Data View web part</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/05/25/421980.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/05/25/421980.aspx</id><published>2005-05-25T14:13:00Z</published><updated>2005-05-25T14:13:00Z</updated><content type="html">&lt;P&gt;If you haven't worked it out by now, I am using my blog to capture useful titbits on SharePoint, BizTalk and InfoPath that I don't want to forget myself.&lt;/P&gt;
&lt;P&gt;Anyway - here's another useful one for SharePoint and Data View web parts that I think is great, but maybe just not that obvious for working out yourself.&lt;/P&gt;
&lt;P&gt;The idea is to effectively create a simple "search" facility on a Data View web part, which is enabled by creating a Form Web Part with a single text field that provides this value as input to the Data View, the Data View is filtered based on the input value.&lt;/P&gt;
&lt;P&gt;To create:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;From FrontPage 2003, add a Data View web part to your Web Part Page 
&lt;LI&gt;Configure a Filter on the Data View web part. set the Comparison to "Contains" and the Value to "Input_Parameter" 
&lt;LI&gt;Add a Form web part to the page 
&lt;LI&gt;Create a web part connection from the Form web part to the Data View web part. Have it "Provide Form values to" another web part, and set the Target Action to "Modify View using parameters from" 
&lt;LI&gt;Select the form field and map it to the Input_Parameter
&lt;LI&gt;Give it a go.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;One gotcha I came across was trying to setup a Contains filter on a Lookup column. It seems that it is a constraint imposed by FrontPage 2003. I found that you can set it on a string value, have a look at the XSLT, and then apply this same change to a Lookup column and it works fine.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=421980" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="SharePoint &amp; FrontPage" scheme="http://blogs.msdn.com/cjwalker/archive/tags/SharePoint+_2600_+FrontPage/default.aspx" /></entry><entry><title>What is BAM?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/05/25/421933.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/05/25/421933.aspx</id><published>2005-05-25T08:49:00Z</published><updated>2005-05-25T08:49:00Z</updated><content type="html">&lt;P&gt;Business Activity Monitoring in BizTalk Server 2004&lt;/P&gt;
&lt;P&gt;Basically BAM lets you expose orchestration events and message data for analysis by “information workers” - regular users. A business analyst uses their understanding of the business process to determine data they are interested in (in a spreadsheet). It is probably mostly useful where the orchestration is reasonably complex and/or has long running transactions (ie. a reasonable amount of time between significant business events or “milestones”, such as Received, Approved, Dispatched etc). The developer then “maps” the BA’s data/event items to actual steps in the orchestration and elements in messages. The output of the BA’s work and the developers work is deployed – one part to the Tracking Engine and the other to Analysis Services. You then fire up your system, put some messages through and open up a specially generated Excel spreadsheet (_LiveData.xls) and view the data exposed by the orchestrations &amp;amp; messages. Very cool. I'd encoruage anyone working with BizTalk to take a look at BAM.&lt;/P&gt;
&lt;P&gt;A side note - initially I ran into an issue where the BM tool was not generating the &amp;lt;filename&amp;gt;_LiveData.xls file.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;When you use a locale setting other than English (United States) while installing the English version of BizTalk Server, your deployment of the Bam.xls file generates an "fnGetString" or "Old format or invalid type library" error.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Solution&lt;BR&gt;&lt;/STRONG&gt;Change the computer locale to English (United States) and re-run the bm deploy command at the command prompt.&lt;/P&gt;
&lt;P&gt;To change your computer locale to English (United States) &lt;BR&gt;Click Start, click Control Panel, and then click Regional and Language Options. &lt;BR&gt;In the Regional and Language Options dialog, on the Regional Options tab, choose the English (United States) locale from the drop down box, and click OK. &lt;BR&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=421933" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="BizTalk" scheme="http://blogs.msdn.com/cjwalker/archive/tags/BizTalk/default.aspx" /></entry><entry><title>Adding a lookup dialog to an InfoPath form</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/cjwalker/archive/2005/05/19/420254.aspx" /><id>http://blogs.msdn.com/cjwalker/archive/2005/05/19/420254.aspx</id><published>2005-05-19T09:59:00Z</published><updated>2005-05-19T09:59:00Z</updated><content type="html">&lt;P&gt;A client recently experienced an issue with InfoPath where they had a repeating table containing a drop down list containing a large number of items. This worked fine for a small number of rows in the repeating table, however memory usage increased and performance degraded as more rows were added.&lt;/P&gt;
&lt;P&gt;A workaround, which actually becomes an improvement, is to add a button which launches a dialog that displays a list to select an item from. This has the benefit of not copying the drop down list contents for every row, but also provides an opportunity to enhance the lookup functionality with sorting, filtering, grouping etc.&lt;/P&gt;
&lt;P&gt;To hook it all together:&lt;/P&gt;
&lt;P&gt;1.&amp;nbsp;Create the user.htm, user.js, taskpane.htm and taskpane.js files as defined below&lt;BR&gt;2.&amp;nbsp;Add user.htm, user.js, taskpane.htm and taskpane.js as Resource files&lt;BR&gt;3.&amp;nbsp;Add a button next to the field/textbox to populate with the selected lookup value. Add an event handler to the button.&lt;BR&gt;4.&amp;nbsp;Include the functions listed below in script.js and copy the code in btnPersonLookup to your lookup button’s event handler&lt;BR&gt;5.&amp;nbsp;Set taskpane.htm as the custom task pane. Go to Tools -&amp;gt; Form Options, Advanced tab. Select taskpane.htm from the list in Task pane location.&lt;BR&gt;6.&amp;nbsp;Modify the reference to “my:Person” in selectSingleNode in btnPersonLookup – this should refer to the field or textbox that you want the selected value to go.&lt;BR&gt;7.&amp;nbsp;Give it a go.&lt;/P&gt;
&lt;P&gt;Create a lookup HTML page (this one is for selecting from a list of users): &lt;/P&gt;
&lt;P&gt;user.htm&lt;/P&gt;
&lt;P&gt;&amp;lt;html&amp;gt;&lt;BR&gt;&amp;lt;head&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;meta http-equiv="MSThemeCompatible" content="Yes" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;title&amp;gt;Select User&amp;lt;/title&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;script src="user.js" language="JavaScript"&amp;gt;&amp;lt;/script&amp;gt;&amp;nbsp;&lt;BR&gt;&amp;lt;/head&amp;gt;&lt;BR&gt;&amp;lt;body class="dialogBody" onload="OnLoad()" onkeypress="OnKeyPress()"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;div class="section"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div id="text_instructions" class="textbox instructions"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select a user from the list below.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;div class="section"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;select class="multiLineSelect" name="selUsers" id="selUsers" size="11" onpropertychange="btnOk.disabled=(-1==this.selectedIndex)" ondblclick="SelectUser()"&amp;gt;&amp;lt;/select&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;lt;div class="buttons section"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;button id="btnOk" type="submit" onclick="SelectUser()"&amp;gt;OK&amp;lt;/button&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;lt;button id="btnCancel" onclick="CloseDialog()"&amp;gt;Cancel&amp;lt;/button&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/body&amp;gt;&lt;BR&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;
&lt;P&gt;Create a Javascript file – user.js – this is referenced by user.htm&lt;/P&gt;
&lt;P&gt;user.js&lt;/P&gt;
&lt;P&gt;var L_DEFAULTUSERVALUE_Text&amp;nbsp;= "";&lt;BR&gt;var L_DEFAULTUSERNAME_Text&amp;nbsp;= "(None)";&lt;/P&gt;
&lt;P&gt;function OnLoad()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;if (window.dialogArguments)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;selUsers.innerHTML = "." + window.dialogArguments.useroptions;&lt;BR&gt;&amp;nbsp;&amp;nbsp;selUsers.outerHTML = selUsers.outerHTML;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;function SelectUser()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;if (false == btnOk.disabled)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;var oUser = selUsers[selUsers.selectedIndex];&lt;BR&gt;&amp;nbsp;&amp;nbsp;window.dialogArguments.selected&amp;nbsp;&amp;nbsp;&amp;nbsp;= true;&lt;BR&gt;&amp;nbsp;&amp;nbsp;window.dialogArguments.selectedUserId&amp;nbsp;= oUser.value;&lt;BR&gt;&amp;nbsp;&amp;nbsp;window.dialogArguments.selectedUserName&amp;nbsp;= L_DEFAULTUSERNAME_Text != oUser.text ? oUser.text : "";&lt;BR&gt;&amp;nbsp;&amp;nbsp;CloseDialog();&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;function CloseDialog()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;try&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;parent.opener = "top";&lt;BR&gt;&amp;nbsp;&amp;nbsp;parent.close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;catch (ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;window.close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;function OnKeyPress()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;switch (event.keyCode)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;case 13: /*ENTER*/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SelectUser();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;case 27: /*ESC*/&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseDialog();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Create a HTML file to load as the default task pane for the form, taskpane.htm, and include this in the HEAD tags &lt;/P&gt;
&lt;P&gt;&amp;lt;script src="TaskPane.js" language="JavaScript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/P&gt;
&lt;P&gt;Create another Javascript file, TaskPane.js and include the following function.&lt;/P&gt;
&lt;P&gt;function LaunchDialog(sUrl, iWidth, iHeight, oArgs)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;window.showModalDialog(sUrl, oArgs, "dialogWidth:"+iWidth+"px; dialogHeight:"+iHeight+"px; edge:Raised; center:Yes; help:No; resizable:No; status:No;");&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;Extra script.js functions&lt;/P&gt;
&lt;P&gt;function btnPersonLookup::OnClick(eventObj)&lt;BR&gt;{&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;var oArgs = new Object();&lt;BR&gt;&amp;nbsp;oArgs.XDocument&amp;nbsp;= XDocument;&lt;BR&gt;&amp;nbsp;oArgs.selected&amp;nbsp;= false;&lt;BR&gt;&amp;nbsp;var oNode = eventObj.Source;&lt;BR&gt;&amp;nbsp;var personNode;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;oArgs.useroptions = GetUserOptions('ServiceNo', 'Person_Name', oArgs.selectedUserId, true);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;XDocument.View.Window.TaskPanes.Item(0).HTMLDocument.parentWindow.LaunchDialog("user.htm", 400, 345, oArgs);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;if (true == oArgs.selected)&lt;BR&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;oNode.selectSingleNode('my:Person').text =&amp;nbsp; oArgs.selectedUserName;&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;var g_oXmlUsers&amp;nbsp;= null;&amp;nbsp;&lt;BR&gt;var g_sUsersOptions = "";&lt;BR&gt;var g_aOptionLookup&amp;nbsp;= new Array();&lt;/P&gt;
&lt;P&gt;var L_sSelectUser_Text = "Select user...";&lt;BR&gt;var L_sNoUser_Text = "(None)";&lt;/P&gt;
&lt;P&gt;function GetUserOptions( sUsersValueName, sUsersDisplayName, sValue, fFromDialog)&lt;BR&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;if (g_oXmlUsers == null)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;try &lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//original design called a web service, but opted to load from secondary data source rather than&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//repeated calls to web service&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//g_oXmlUsers = callMethod( "GetPersonNames", "&lt;A href="http://webserver/webservice/service.asmx"&gt;http://webserver/webservice/service.asmx&lt;/A&gt;", SOAP_GETUSERS_URN, null, null, false );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//g_oXmlUsers.ownerDocument.setProperty( "SelectionNamespaces", 'xmlns:soap="&lt;A href="http://schemas.xmlsoap.org/soap/envelope/"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;" xmlns:xsi="&lt;A href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;" xmlns:xsd="&lt;A href="http://www.w3.org/2001/XMLSchema"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;" xmlns:z="&lt;A href="http://schemas.microsoft.com/sharepoint/soap/directory/&amp;quot;'"&gt;http://schemas.microsoft.com/sharepoint/soap/directory/"'&lt;/A&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//set the DOM object to the secondary Data Source "GetPersonNames"&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_oXmlUsers = XDocument.DataObjects("GetPersonNames").DOM&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_oXmlUsers .setProperty ('SelectionNamespaces','xmlns:dfs="&lt;A href="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution"&gt;http://schemas.microsoft.com/office/infopath/2003/dataFormSolution&lt;/A&gt;" xmlns:dsf="&lt;A href="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution&amp;quot;'"&gt;http://schemas.microsoft.com/office/infopath/2003/dataFormSolution"'&lt;/A&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;catch (e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_oXmlUsers = null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;if (g_sUsersOptions == "")&lt;BR&gt;&amp;nbsp;&amp;nbsp;// the XPath //Persons gets the repeating elements containing the Person Name and User ID - in our&lt;BR&gt;&amp;nbsp;&amp;nbsp;// scenario the secondary data source was a web service that returned a DataSet&lt;BR&gt;&amp;nbsp;&amp;nbsp;g_sUsersOptions = BuildOptionsList( g_oXmlUsers, "//Persons", "", sUsersValueName, sUsersDisplayName, "?");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;var sUsersOptions = '&amp;lt;option value=""&amp;gt;{0}&amp;lt;/option&amp;gt;'.replace("{0}", L_sNoUser_Text) +g_sUsersOptions;&lt;BR&gt;&amp;nbsp;sUsersOptions = sUsersOptions.replace('&amp;lt;option value="'+sValue+'"', '&amp;lt;option selected="true" value="'+sValue+'"');&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;return sUsersOptions;&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;function BuildOptionsList( xResults, xPath, sPrefix, sValueName, sDisplayName, sValue )&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;try&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;var xNodes = xResults.selectNodes( xPath );&lt;BR&gt;&amp;nbsp;&amp;nbsp;if( 0 == xNodes.length)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw( 0 );&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;var xNode;&lt;BR&gt;&amp;nbsp;&amp;nbsp;var sOptionList = "";&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;while( xNode = xNodes.nextNode() )&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var sOptionValue&amp;nbsp;= xNode.childNodes[1].text;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var sOptionDisplay&amp;nbsp;= xNode.childNodes[0].text;;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( sOptionDisplay )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;g_aOptionLookup[sOptionValue] = sOptionDisplay; // needed for displaying full names in errors etc., as they are not stored in the DOM!&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sOptionList += '&amp;lt;option value="' + sOptionValue + '"' + (sOptionValue == sValue ? ' selected="selected"' : '') +'&amp;gt;' + sOptionDisplay + '&amp;lt;/option&amp;gt;';&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;return( sOptionList );&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;catch( e )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return( "" );&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=420254" width="1" height="1"&gt;</content><author><name>cjwalker</name><uri>http://blogs.msdn.com/members/cjwalker.aspx</uri></author><category term="InfoPath" scheme="http://blogs.msdn.com/cjwalker/archive/tags/InfoPath/default.aspx" /></entry></feed>