November 29, 2005

Support NDoc project!

I've been asking for help on getting NDoc working with .NET 2.0 recently. I was lucky enough and Kevin Downs, the developer of NDoc sent me an alpha version of the next NDoc release that was good enough for generating Mvp.Xml API documentation. And that unexpected problem made me realize ...

W3C: CAPTCHA considered harmful

W3C warns that using CAPTCHA on the Web is actually bad idea as it poses problems for those who are blind, have low vision or have a learning disability such as dyslexia. That makes sense. 2005-11-23: The WAI Protocols and Formats Working Group has released Inaccessibility of CAPTCHA: Alternatives to ...

XML support in next SQL Server - suggest a feature

Michael Rys asks "What do you want to see regarding XML support in the next version of SQL Server?" Don't miss a chance to suggest your favorite feature. ...

Mvp.Xml library v2.0 released

I'm glad to announce release 2.0 of the Mvp.Xml library. This is first Mvp.Xml release for .NET 2.0. Download it here. Mvp.Xml project is developed by Microsoft MVPs in XML technologies and XML Web Services worldwide. It is aimed at supplementing .NET framework XML processing functionality available through the System.Xml ...

Mvp.Xml project supports both .NET 1.1 and .NET 2.0. While both codebases have much in common, they are different codebases. Mvp.Xml for .NET 1.1 is mostly frozen, while Mvp.Xml for .NET 2.0 is under active development.

What's new in the Mvp.Xml v2.0:

  • EXSLT.NET now works with new .NET 2.0 XSLT processor - XslCompiledTransform class
  • Experimental new improved and simplified XSL transformation API introducing concepts of IXmlTransform interface, XmlInput and XmlOutput
  • MvpXslTransform class - extends capabilities of the XslCompiledTransform class by adding support for transforming into XmlReader , vast collection of EXSLT extension functions, multiple outputs and transforming of IXPathNavigable along with XmlResolver
  • XslReader - provides an efficient way to read results of an XSL transformation as XmlReader
  • Performance improvements due to moving to generics
  • Support for fractional seconds in EXSLT Dates and Times functions
  • ExsltTransform class has been deprecated - please use MvpXslTransform
  • Mvp.Xml Forums at the XML Lab
XslReader, new XSLT API and partially MvpXslTransform implementation were contributed to the Mvp.Xml project by Sergey Dubinets of Microsoft XML Team. Thanks, Sergey!

Binary distribution contains Mvp.Xml.dll assembly signed with an Authenticode digital signature (thanks to DonXML for dealing with certificates) to satisfy Microsoft (they have licensed the Mvp.Xml library for usage and distribution).

Mvp.Xml project home | Mvp.Xml Homepage | Mvp.Xml v2.0 API documentation

Also Mvp.Xml v1.2 is released, which is the latest Mvp.Xml release for .NET 1.1. Not much new in v1.2, just fractional seconds in EXSLT and fixed bugs.

The Mvp.Xml library is a subject to the BSD License - OSI approved free open-source license.

November 28, 2005

Joining FXSL project

So Dimitre Novatchev invited me and I joined the FXSL (Functional Programming Library for XSLT) project. The FXSL functional programming library for XSLT provides XSLT programmers with a powerful reusable set of functions and a way to implement higher-order functions and use functions as first class objects in XSLT. I ...

November 22, 2005

Ndoc for .NET 2.0 help anyone?

I'm stuck one step before releasing Mvp.Xml library v2.0 for .NET 2.0. I can't generate API documentation, because NDoc doesn't support .NET 2.0 yet :( Apparently NDoc wiki contains instructions how to get it working with .NET 2.0, but the wiki seems to be down and the google cache is ...

November 15, 2005

MSN sponsors TopCoder matches and hires topcoders

MSN joins Google, Yahoo and others supporting the TopCoder community - a major league for programming competitions. MSN is sponsoring 8 TopCoder matches and is giving away $40,000 in cash prizes to the TopCoder Community. MSN is also hiring best topcoders. That's cool. And TopCoder is a great place to ...

November 9, 2005

Another XQuery tutorial by Mike Kay: "Blooming FLWOR - An Introduction to the XQuery FLWOR Expression"

Mike Kay keeps teaching us XQuery. New installment of his XQuery tutorials series sponsored by the Stylus Studio, is called "Blooming FLWOR - An Introduction to the XQuery FLWOR Expression" and covers XQuery FLWOR expressions, "the workhorse of the XQuery language". ...

Breaking changes in MSXML6

Just released Microsoft Core XML Services (MSXML) 6.0 introduces some security-related breaking changes in XML and XSLT processing, but MSXML6 SDK documentation isn't released yet (expected next week) and can be found nowhere on the net, so you might have a hard time wondering why basic things stop working after ...

MSXML6 is aligned with .NET 2.0 with regard to "secure by default" principle. That means that both MSXML6 and .NET 2.0 by default prohibit DTD (even internal subset) in XML documents, document() function and embedded scripts (ms:script) in XSLT stylesheets. Here is how you can enable processing these things if your XML or XSLT comes from a trusted source.

To allow processing DTD you set "ProhibitDTD" secondary property to false before loading XML:

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xmlDoc.async = false;
xmlDoc.validateOnParse = false;            
xmlDoc.setProperty("ProhibitDTD", false);           
xmlDoc.load("data.xml");

To enable document() function and embedded scripts in XSLT stylesheets you set "AllowDocumentFunction" and "AllowXsltScript" secondary properties to true, no matter before or after loading stylesheet, but before running a transformation:

var xslDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xslDoc.async = false;
xslDoc.validateOnParse = false;            
xslDoc.setProperty("ProhibitDTD", false);           
xslDoc.setProperty("AllowDocumentFunction", true);
xslDoc.setProperty("AllowXsltScript", true);      
xslDoc.load("style.xslt");

Hope that helps. And keep an eye on MSDN XML Developer Center for MSXML6 SDK with complete documentation to be released soon.

November 6, 2005

XLinq news

After initial announcement XLinq hubbub seems to be more and more quiet - users are busy moving to .NET 2.0 and Microsoft is working on the next preview version. Anyway, there are some news: Microsoft released "C# LINQ Tech Preview Update for Visual Studio 2005 RTM Release": This is an ...

XSLT 2.0, XQuery 1.0 and XPath 2.0 Are W3C Candidate Recommendations

That's a big milestone in a 6-years-going-so-far design-by-committee experiment: XSLT 2.0, XQuery 1.0 and XPath 2.0 are finally W3C Candidate Recommendations. That means that W3C now officially calls for implementations (which shows another weirdness of the design-by-committee process as XQuery alone has about 40 implementations already as per Ken North ...

Don Knuth's and SICP video lectures online

Couple cool links from the Lambda the Ultimate: An archive of videotaped Don Knuth lectures from the Stanford Center for Professional Development "Structure and Interpretation of Computer Programs" video lectures podcast ...

November 1, 2005

XslCompiledTransform and XmlReader output problem solved

There is a known problem with new XSLT processor in just released Microsoft .NET 2.0 - XslCompiledTransform class doesn't support pull mode XSLT - outputting XSLT result in XmlReader form as obsolete XslTransform class did. I'm happy to announce that the problem is solved now. Sergey Dubinets from the Microsoft ...

"Does Visual Studio Rot the Mind?" by Charles Petzold

I can't refrain myself from linking to this wonderful "Does Visual Studio Rot the Mind?" paper by Charles Petzold. Sorry. That's gonna be another good source of citations. ...