Supporting tables in web design
Jan 12 11:23:28
Test site availability from around the globe
Nov 7 0:53:22
Clamshell - an OpenID server
Jun 20 5:33:06
Writing Strategic Initiatives
Mar 6 3:08:15
Writing a strategy document
Mar 6 3:00:53
This morning's lesson -- the XSLTListWebPart starts to break horribly in Designer as soon as you deviate from Microsoft's expected templates and patterns.
Case in point: as soon as you use multiple <xsl:template name=""> elements in the stylesheet, the Filter stops working. There's a caveat on that -- it works as long as you delimit the templates using the mode="" attribute and call them using <xsl:apply-templates> rather than <xsl:call-template name="">. So for example:
XMLKit is a bundle of useful XML conversion and validation programs using batch files to simplify their deployment and use. Available programs include:
This is a follow up to my previous proposal on xpatch.
Joe has rightly pointed out that XPath is not sufficient to handles XML files where ordering is not guaranteed. For example:
<attendees> <attendee name="Dream" status="Confirmed" /> <attendee name="Desire" status="No reply" /> </attendees>
If I want to update Desire's status, but don't know a priori which order these elements will be returned, xpatch won't work:
UPDATE: Also see my follow-up post on an alternative method for replacing nodes.
Joe Gregorio asks about available XML diff formats, and based on some Googling, there really isn't anything robust and/or readable out there.
In particular, most formats seem to hard code differences by node number, which doesn't hold up at all well if you may want to merge diffs from multiple sources from a single code base a la traditional diff merging in code bases.
Given the enormous amounts of XML being processed, it seems incredible that
nothing has been defined no standards have emerged so far. So here's a possible option. It's based heavily on the Mozilla XUL Overlays pattern, but generalised for any XML.
In response to a question from a reader, Tim, this is a follow-up from an earlier article on SharePoint, SOAP and VBScript. This time, we'll look at how to do more complex calls to SharePoint web services in VBScript
Some web services in SharePoint require passing XML as parameters. Unfortunately, you can't pass an XML document, it has to be an XML node element, and this takes a bit of effort to construct in VBScript.
The example we'll use is making a call to
GetListItems, which returns all items in a SharePoint library, optionally matching a query formatted using a special XML syntax.
This is a nice trick. Particularly since Ant provides some pretty nice tools for XML manipulation.
I've long been fascinated by the eXist native XML database, and I think it's just made it into my list of apps that can really help an enterprise out.
Why? Well, I think in the Web 2.0 days there's a clear shift away from aggregated data sources to document-driven workflows. But there's still a need to search, run queries, and limit access to these documents.
Plus eXist belongs to the WebDAV world. That means REST: you can add, update and delete documents from eXist just by issuing the right HTTP command. The icing on the cake is that by making a couple of simple changes to an XML 'collection' (think: collection = database) you can turn it into fully fledged Atom feeds with full APP support. Mmmmmm.
(UPDATE: Their Design Goals Questionnaire is also really useful.)
Practical advice from the xml-dev mailing group, so these people do it every day.
This VBScript code allows you to query and post just about any information to SharePoint using web services. There are two steps involved:
Option Explicit Dim xmlDoc, SOAPClient ' Get the root element object Set SOAPClient = createobject("MSSOAP.SOAPClient")