Learn about .NET System.XML and System.Web.Services here...
2007 Jan 21
51 of 189 | Loading XSLT stylesheets embedded into an assembly - the right way -
Everybody knows that XSLT stylesheet can be embedded into an assembly by setting in Visual Studio its "BuildAction" property to "Embedded Resource". Such stylesheet then can be loaded using Assembly.GetManifestResourceStream() method. But in fact, this is actually wrong way of loading embedded stylesheets, because once smarty-pants XML developer goes and breaks XSLT stylesheet into modules it suddenly stops working - xsl:import/xsl:include are not compatible with loading stylesheet via Assembly.GetManifestResourceStream(). The right way of loading embedded stylesheets is via XmlResolver. Having custom XmlResolver loading stylesheet from an assembly solves th......
2006 Dec 19
52 of 189 | Using ms:string-compare() and the rest MS extension functions in XPath-only context -
XslCompiledTransform implements the following useful MSXML extension functions. But what if you need to use them in XPath-only context - when evaluating XPath queries using XPathNavigator? Function Signature and description ms:string-compare number ms:string-compare(string x, string y[, string language[, string options]])Performs lexicographical string comparison. ms:utc string ms:utc(string time)Converts the prefixed date/time related values into Coordinated Universal Time and into a fixed (normalized) representation that can be sorted and compared lexicographically. ms:namespace-uri string ms:namespace-uri(string name)Resolves the prefix part of a qualified name into......
2006 Dec 12
53 of 189 | HtmlAgilityPack - DOM and XPath over HTML -
I saw today Josh Christie post about "Better HTML parsing and validation with HtmlAgilityPack". HtmlAgilityPack is an open source project on CodePlex. It provides standard DOM APIs and XPath navigation -- even when the HTML is not well-formed! Well, DOM and XPath over malformed HTML isn't new idea. I've been using XPath when screenscraping HTML for years - it seems to me way more reliable method that regular expressions. All you need in .NET is to read HTML as XML using wonderful SgmlReader from Chris Lovett. SgmlReader is an XmlReader API over any SGML document such as HTML. But what I don't get is why would anyone (but browser vendors) ......
2006 Dec 06
54 of 189 | Java 6 gets pull XML API -
Better late than never - forthcoming Java 6 (currently Release Candidate) will include StAX, pull based streaming XML API. .NET has pull based XML parser (XmlReader) from the very beginning and Microsoft was arguing .NET's XmlReader is better than SAX since at least 2002. No, I'm not saying Java catches .NET up with one more feature, no. I'm just glad I wil be able to parse XML using the same model and very similar API on both platforms.
...
2006 Nov 16
55 of 189 | How to get line number for a node in XSLT -
It's surprisingly easy in .NET 2.0. Obviously it can't be done with pure XSLT, but an extension function returning line number for a node takes literally two lines. The trick is to use XPathDocument, not XmlDocument to store source XML to be transformed. The key is IXmlLineInfo interface. Every XPathNavigator over XPathDocument implements this interface and provides line number and line position for every node in a document. Here is a small sample: using System;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
public class Test
{
static void Main()
{
XPathDocument xdoc = new XPathDocument("books.xml");
XslCompiledTransform xslt = ne......
2006 Nov 05
56 of 189 | [Sylvain Hellegouarch:Amplee] Amplee v.0.3.0, A Python-based/IronPython-compatible Atom Publishing Protocol Implementation Now Available! - In follow-up to yesterdays "bridge" announcement, Sylvain Hellegouarch has both updated and released the next version of Amplee, an Atom Publishing Protcol implementation, using bridge to enable compatibility with a variety of XML document types, including System.Xml-based document types. From......
2006 Nov 04
57 of 189 | Version 5.2.0 of PHP has been released. - Version 5.2.0 of PHP has been released. Along with numerous bug fixes and API additions, this release adds several new functions to xmlReader pull parser including readInnerXml(), setSchema(), readOuterXML(), and readString()....
2006 Oct 23
58 of 189 | Using the right version of MSXML in Internet Explorer -
I’ve been working closely with the IE team leading up to the release of IE7 and looking at the use of XML in the browser. During this investigation one thing has become immediately obvious – there is a lot of confusion around the versioning story for MSXML and how to instantiate the “right” MSXML object in the browser. Here’s a quick snippet of code that I’ve seen all too often out on the web:
if (Web.Application.get_type() == Web.ApplicationType.InternetExplorer) {
var progIDs = [ 'Msxml2.DOMDocument.6.0', 'Msxml2.DOMDocument.5.0', 'Msxml2.DOMDocument.4.0', 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ];
 ......
2006 Sep 30
59 of 189 | Build an RSS Blog Roller with C# and ASP.NET - This example demonstrates how to build an ASP.NET blog roller that is capable of aggregating multiple RSS feeds and displaying a specific number of items from each one. The application was writen using C# and demonstrates using generics, nullable types and XmlReaders and subreaders to accomplish the task. It also demonstrates how to use the ObjectDataSource control to bind to a business object.
...
2006 Sep 28
60 of 189 | Creating an ASP.NET RSS Blog Roller - We needed an RSS blog roller for http://www.interfacett.com so we could show various employee blogs. While there are several out there for .NET we wanted something that we could build on and customize so I put together a quick class named RssBlogRoller that would read an array of blog URLs, grab a specific number of items and then sort them based upon the <pubDate> element. It was a fun little exercise that will be useful in classes as well since it demonstrates generics, XmlReaders (and sub readers) and the ASP.NET ObjectDataSource.The code for the RssBlogRoller is shown below. I've refactored it several times now and while it's not perfect, it gets the job ......
2006 Sep 20
61 of 189 | buldocs has released xnsdoc 1.2, a €49 payware "documentation generator for XML namespaces defined by W3C XML Schema in HTML in a JavaDoc like visualization. - buldocs has released xnsdoc 1.2, a €49 payware "documentation generator for XML namespaces defined by W3C XML Schema in HTML in a JavaDoc like visualization. xnsdoc supports all common schema design practices like chameleon, russian doll, salami slice, venetian blind schemas or circular schema references. xnsdoc can be used from the command line, as an Apache Ant Task, as an Apache Maven Plugin, as an eclipse plugin or integrated as a custom tool in many XML development tools such as StylusStudio, oXygen XML or XMLWriter." Version 1.2 fixes bugs and adds some additional configuration options....
2006 Sep 19
62 of 189 | Create a SAXSource with InputSource and XMLReader - Find out how to use a SAX InputSource and an XMLReader object to create a SAXSource....
2006 Sep 10
63 of 189 | Using LINQ to XML Annotations - tracking line numbers - Several people have asked for a feature in LINQ to XML that would keep track of the line number in an XML data source from which each node was parsed. We have resisted, partly because there doesn't seem to be a mainstream use case for this feature, and partly because the minimialist design philosophy behind LINQ: simple, mainstream scenarios should be supported out of the box, whereas more sophisticated use cases can be supported via the various extension mechanisms. The code example below shows how to use C# 3.0 extension methods and LINQ to XML annotations to do this job.
The tricky part of this code is the LoadWithLineInfo method, which sets up the XmlReader; an......
2006 Sep 05
64 of 189 | XML Notepad 2006 - XML Notepad 2006 provides a simple intuitive User Interface for browsing and editing XML documents. XML Notepad shows how to use some advanced features of System.XML in the .NET Frameworks 2.0. The download includes source code. See the handy design doc that goes with it. Features include:
Tree View synchronized with Node Text View for quick editing of node names and values.
Incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes.
Cut/copy/paste with full namespace support.
Drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.
Infinite undo/redo......
2006 Sep 02
65 of 189 | XML Notepad 2006 Design - XML Notepad was first introduced in 1998 but has been unavailable for several years. This article introduces a new version that leverages System.xml and adds new features....
2006 Sep 01
66 of 189 | Not having to choose between a big ecosystem and cutting edge features - Joel Spolsky has an interesting post on the Language Wars -- the permanent debate among those who think their currently preferred programming language is the best. He drew some heat from the blogosphere because he advocates a pragmatic approch for others ...
Lisp and OCaml and lots of other languages ...are totally, truly brilliant programming languages worthy of great praise, but just don't have the gigantic ecosystem you need around them if you want to develop web software...The safe answer, for the Big Enterprisy Thing where you have no interest in being on the cutting edge, is C#, Java, PHP, or Python, since there's so much evidence that when it comes right down ......
67 of 189 | The performance of System.Xml - Insert operations - The results of some perfomance tests of insert-like operations of System.Xml...
2006 Aug 20
68 of 189 | Delegate-Based XML Processor for Configuring Objects From XML - Here is a flexible, memory-efficient way of parsing an XML without dealing with the intricacies of XmlReader...
2006 Aug 13
69 of 189 | Streaming XML filtering in Java and .NET -
XML processing is changing. In Java SAX slowly but steadily goes away or at least goes into low level and nowadays Java with StAX is not so different from .NET XmlReader. I found it pretty interesting to compare approaches to streaming filtering XML in Java and .NET. Filtering is a very useful technique for transforming XML on the fly, while XML is being read. Filtering out parts or branches application isn't interested to process is a great way to simplify XML reading code, which is especially important in streaming XML processing which usually tends to be more complicated than in-memory based (XML DOM) processing.
Let's say we have this dummy XML and we want to extract "interes......
2006 Aug 08
70 of 189 | What's New in System.Xml 2.0 - My latest Service Station column is now online -- What's New in System.Xml 2.0.
It was refreshing to write about a core XML topic once again.
...
2006 Aug 07
71 of 189 | What’s New in System.Xml 2.0? - In this installment of Service Station, Aaron Skonnard takes a long hard look at System.Xml 2.0....
2006 Jul 11
72 of 189 | How to validate XSLT output in .NET 2.0 -
How would you validate XSLT output on the fly without caching transformation result as a whole? That's easy - just use MvpXslTransform class that adds to the XslCompiledTransform class ability to transform into XmlReader and wrap that reader witth a validating reader. As a result - streaming validation, no memory hogging and ability to abort transformation at first validation error. Simple sample below.
XPathDocument doc =
new XPathDocument("source.xml");
MvpXslTransform xslt = new MvpXslTransform();
xslt.Load("XSLTFile1.xslt");
XmlReader resultReader =
xslt.Transform(new XmlInput(doc), null);
XmlReaderSettings settings = new XmlReaderSettings();
settings.Valid......
2006 Jun 30
73 of 189 | What LINQ to XML will NOT do - One of the worst pitfalls a design team can fall into is trying to do too much. The principle is captured by the well known quote:
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. - Antoine de Saint-Exupery
So, what has been taken away from LINQ to XML (aka XLinq) in the pursuit of simplicity (if not perfection)? I'm in the process of documenting the "non-goals" for XLinq, and thought it would be good to share them and get some feedback.
I discussed the non-goal of replacing XSLT as a tool for processing unstructured documents in a previous post. Some other non-goals include:
Guaranteeing t......
2006 Jun 21
74 of 189 | Rotor 2.0 -
This is old news, but I somehow missed it so I'll post for news-challenged like me. Microsoft has released "Shared Source Common Language Infrastructure 2.0" aka Rotor 2.0 - buildable source codes of the ECMA CLI and the ECMA C#. This is roughly .NET 2.0 sources with original comments. Priceless! It's released under "MICROSOFT SHARED SOURCE CLI, C#, AND JSCRIPT LICENSE".
New in this release:
Full support for Generics.
New C# 2.0 features like Anonymous Methods, Anonymous Delegates and Generics
BCL additions.
Lightweight Code Generation (LCG).
Stub-based dispatch. (What the hell is that?)
Numerous bug fixes.
There is always the Reflector, but Rotor is different - you......
2006 Jun 16
75 of 189 | Creating documents over a subtree - After my TLC session on XML Tools in Visual Studio a gentleman came up to me and asked me a question. He said that he deals with XML coming over the pipe and their usually isn’t an end-of-file character at the end of his email document. He was trying to figure out how he can create a DOM over the valid XML. He was using one reader to do this. I knew that he could use the subtree reader but I didn’t have any code handy to give him. So I played around a bit and here is what I came up with:
public void TestSubTreeReader()
{
XmlRead......
2006 Jun 12
76 of 189 | New Microsoft XML API - XmlLite -
And you thought XML is done? No way. It's alive and kicking technology. And here is just one more proof: yet another new XML API from Microsoft - the XmlLite. It's a native library for building high-performance secure XML-based applications. XmlLite library is a small one by design - it only includes pull XML parser (native analog of the .NET's XmlReader), XML writer (native analog of the .NET's XmlWriter) and XML resolver (similar to the .NET's XmlResolver). XmlLite's meant to be small, simple, secure, standards-compliant but damn fast library to read and write XML. It's claimed to be able to parse XML even faster than MSXML. What I found especially compelling is XmlLite API si......
2006 May 30
77 of 189 | On creating custom XmlReaders/XmlWriters in .NET 2.0 -
When developing custom XmlReader or XmlWriter in .NET 2.0 there is at least three options:
implement XmlReader/XmlWriter
extend one of concrete XmlReader/XmlWriter implementations and override only methods you need
implement XmlReader/XmlWriter by wrapping one of concrete XmlReader/XmlWriter implementations and overriding only methods you need
First way is a for full-blown XmlReader/XmlWriters, which need to implement each aspects of XML reading/writing in a different way, e.g. XmlCsvReader, which reads CSV as XML or XslReader, which streamlines XSLT output. This is the most clean while the hardest way - XmlReader has 26 (and XmlWriter - 24) abstract members you ......
2006 May 29
78 of 189 | On XmlReader/XmlWriter design changes in .NET 2.0 -
From .NET 1.X experience Microsoft seems finally figured out that providing a set of concrete poorly composable XmlReader and XmlWriter implementations (XmlTextReader, XmlTextWriter, XmlValidatingReader, XmlNodeReader) and emphasizing on programming with concrete classes instead of anstract XmlReader/Xmlwriter was really bad idea. One notorious horrible sample was XmlValidatingReader accepting abstract XmlReader instance and downcasting it silently to XmlTextReader inside. In .NET 2.0 Microsoft (with a huge diffidence) is trying to bring some order to that mess:
XmlReader and XmlWriter now follow factory method design pattern by providing static Create() method which is now re......
2006 May 20
79 of 189 | XLinq Design Issues - What Do You Think? - With the recent LINQ CTP, XLinq's feature set is getting close to what we plan to release in "Orcas". The whole point of Community Technology Previews, of course, is to get feedback from potential customers about what they like, what they don't like, and what more they need in a product before the design is frozen. Now is definitely the time to let us know what you think; there is some time, but not a lot of time to try this out and send feedback (The target ship date for Orcas is not public, but since one main point of Orcas it to provide tooling for new Windows Vista and Office 2007 features, you might guess that "months not years" after these ship is the target dat......
2006 May 11
80 of 189 | Saxon.NET and System.Xml.Xsl -
I really enjoy seeing Michael Kay talking about working with XML in .NET. That makes me feel I might be not a freak after all.
Mike writes about benchmarking Saxon.NET vs System.Xml.Xsl.XslTransform v1.1. .NET seems to be thrice faster, but then Saxon.NET converts .NET DOM into a Saxon tree before each transformation. So Mike went to implement a lightweight wrapper around .NET DOM to allow Saxon to transform .NET DOM almost directly and while working on that he found Microsoft XML documentation "woefully inadequate". Whoha! I know the feeling! Microsoft documentation is written for end users, not for vendors. Just step out a bit from the mainstream (say try to implement c......
2006 May 10
81 of 189 | [MHKay:Blog] Wrapping the .NET DOM - Saxon diaries :: Wrapping the .NET DOM
A user of Saxon on .NET, Don Burden, has been doing some performance tests:
https://sourceforge.net/forum/forum.php?thread_id=1493510&forum_id=94027
At first sight the figures are not especially good: 227 transformations per second against 613 for the System.Xml.Xsl transformer. However, closer analysis shows that a great deal of the cost is in converting the System.Xml DOM into a Saxon tree prior to performing the real transformation. This isn’t really a surprise - the API documentation contains some clear warnings about the cost of doing this (it’s far better, when you can, to build a native Saxon tree directly from raw XML - the same is true for the......
2006 Apr 25
82 of 189 | Initial code for version-aware schema validation - When I wrote my initial post on my new approach to XSD versioning, I promised that I'd post code. Here's the first cut:
class Program{ static void OriginalMain(string[] args) { FileStream xml = new FileStream(args[0], FileMode.Open); FileStream xsd = new FileStream(args[1], FileMode.Open); XmlReader reader = null; XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; settings.ValidationFlags = XmlSchemaValidationFlags.None; //ReportValidationWarnings; settings.ValidationType = ValidationType.Schema; set......
83 of 189 | Initial code for version-aware schema validation - When I wrote my initial post on my new approach to XSD versioning, I promised that I'd post code. Here's the first cut:
class Program{ static void OriginalMain(string[] args) { FileStream xml = new FileStream(args[0], FileMode.Open); FileStream xsd = new FileStream(args[1], FileMode.Open); XmlReader reader = null; XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreWhitespace = true; settings.ValidationFlags = XmlSchemaValidationFlags.None; //ReportValidationWarnings; settings.ValidationType = ValidationType.Schema; set......
2006 Mar 16
84 of 189 | LocationMaker, an approach to System.XML - Tired of editing the location.xml file via notepad? try LocationMaker...
2006 Mar 14
85 of 189 | Hello Saxon on .NET! - An ASP.NET Introduction - [QUICK-UPDATE: Forgot for some silly reason to add the link to the live working sample of this code.]
// NOTE: Saxon now uses System.Xml internally on the .NET platform.
// We could import it and use any of its derived classes, methods, and so forth,
// but in this example we will be using a FileStream for both the source
// and transformation files, and Saxon will be taking care of things from there,
// so theres no need to import System.Xml for this particular example.
void Page_Load(Object sender, EventArgs e)
{
// Create two strings that represent the source file and
// transformations file. These values could be set using
// a variety of methods (e.g. QueryStrin......
2006 Mar 10
86 of 189 | How to load a DSL domain model instance file programmatically - Note: this entry has moved. Say you have a custom DSL file in a solution. Say you want to process the model on that file using GAT or an AddIn or even your custom application code at runtime. You need to deserialize that XML (yes, it’s all XML in the end) into an instance of your domain model (root). You will need two pieces of information: the .NET type of the domain model (that is, the parent of your domain model root concept) and its the corresponding designer. The following code does the trick, allowing you to deserialize a model and return the first instance of the given domain model type (i.e. the model root):public static TRootConcept GetModelRoot<TRootConcept>(string mo......
2006 Mar 09
87 of 189 | How to load a DSL domain model instance file programmatically - Note: this entry has moved. Say you have a custom DSL file in a solution. Say you want to process the model on that file using GAT or an AddIn or even your custom application code at runtime. You need to deserialize that XML (yes, it’s all XML in the end) into an instance of your domain model (root). You will need two pieces of information: the .NET type of the domain model (that is, the parent of your domain model root concept) and its the corresponding designer. The following code does the trick, allowing you to deserialize a model and return the first instance of the given domain model type (i.e. the model root):public static TRootConcept GetModelRoot<TRootConcept>(string mo......
2006 Feb 23
88 of 189 | buldocs has released xnsdoc 1.1, a €49 payware "documentation generator for XML namespaces defined by W3C XML Schema in HTML in a JavaDoc like visualization.
- buldocs has released xnsdoc 1.1, a €49 payware "documentation generator for XML namespaces defined by W3C XML Schema in HTML in a JavaDoc like visualization. xnsdoc supports all common schema design practices like chameleon, russian doll, salami slice, venetian blind schemas or circular schema references. xnsdoc can be used from the command line, as an Apache Ant Task, as an Apache Maven Plugin, as an eclipse plugin or integrated as a custom tool in many XML development tools such as StylusStudio, oXygen XML or XMLWriter." Version 1.1 adds an Eclipse plugin and fixes bugs....
2006 Feb 08
89 of 189 | XAdES Interop with XML-DSIG as implemented by the .NET Framework -
What a way to start off a new category on my blog called "Interoperability".
I recently came across an interesting post in the forums that goes something like
this:
[QUOTE]
Currently I'm working with Visual Studio 2003 in
order to generate xmldsig signature. I'm using the class signedxml to create
the xmldsig signature and I get somthing like this:
[Signature xmlns="http://www.w3.org/2000/09/xmldsig#"]
[SignedInfo]
[CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /]
............
[/Signature]
But I need the sign......
2006 Feb 02
90 of 189 | ADO.NET and System.Xml v. 2.0--The Beta Version (2nd Edition) now Published - In time for the upcoming Visual Studio 2005 and .NET v2.0 Beta 2 release, the updated version of my ADO.NET and System.Xml book has now been published. See this book list for more information and where to download the code examples from. Alternatively just buy a copy so that I can feed my children and bribe my wife to convince her that the hours of writing were worthwhile. If you bought a copy of the first version of this book, this version is a total re-write and twice as thick, reflecting that a year and a half changes a product in many ways. Given that this is on ADO.NET it also covers features from SQL Server 2005 and complements Bob Beauchemin's et al book&nbs......
91 of 189 | System.Xml v2 Articles posted by Alex Homer - Alex has written two good overview articles on System.Xml in .NET v2.0 - part 1 on the XmlReader and part 2 on the XmlWriter....
2006 Jan 13
92 of 189 | Chat with us now! - Sorry, got this rather late, but for anyone interested, the System.Xml team be on for the next hour or so:
Title: C# and XML
Use XML? Use C#? Have some questions, comments, or just want listen to people talk about your favorite technologies? Join members of the C# team and Dare Obasanjo <http://blogs.msdn.com/DareObasanjo/> of the XML/Data team for a discussion about C# and XML.
Chat room: http://communities2.microsoft.com/home/chatroom.aspx?siteid=34000014 ...
93 of 189 | Harnessing the BackPack API - Part I - Michael shows you how to build an app that uses the open API associated with BackPack, a web-based personal organization application, passing data back and forth with XML, and taking advantage of System.XML and Delegates to keep the code simple....
94 of 189 | Improving XML Performance in .NET Framework Applications -
The Microsoft Pattern and Practices folks have produced an excellent guide to Improving
.NET Application Performance and Scalability with a chapter on Improving
XML Performance. If you build .NET Framework applications that utilize
XML then you owe it to yourself to take a look at the guidelines in that document.
There is also a handy, easily printable XML
Performance checklist which can be used as a quick way to check that your
application is doing the right thing with regards to getting the best performance
for XML applications.
On a similar note, Mark Fussell has posted XmlNameTable:
The Shiftstick of System.Xml ......
95 of 189 | Primus -
About me:
Well, my name is Arpan Desai and I'm a Program Manager with the SQL Server group at
Microsoft. I work on the System.Xml stack
in the .NET Framework, focusing on XML querying.
What you'll find on my blog:
I'm going to mainly focus on 'XML Tips & Tricks', but I'll also dive a bit into
other diversions such as HTPCs/HDTV/Pretty much anything technology related.
...
96 of 189 | XLinq: is XML embedded in a host language a good idea or a terrible one? - Note: this entry has moved. During the MVP Summit, and through various articles and blog posts, Microsoft has been trying to get community feedback on the proposed feature of integrating XML as a first-class concept into a core language (such as VB.NET). It seems so natural, right? After all, they are not the first ones to propose such a thing. You're dealing with lots XML in your application, what else could you ask than to be able to do something like the following?:Dim CountriesWithCapital As XElement = _ <Countries> <%= Select <Country Name=(Country.Name) &nbs......
97 of 189 | XLinq: is XML embedded in a host language a good idea or a terrible one? - Note: this entry has moved. During the MVP Summit, and through various articles and blog posts, Microsoft has been trying to get community feedback on the proposed feature of integrating XML as a first-class concept into a core language (such as VB.NET). It seems so natural, right? After all, they are not the first ones to propose such a thing. You're dealing with lots XML in your application, what else could you ask than to be able to do something like the following?:Dim CountriesWithCapital As XElement = _ <Countries> <%= Select <Country Name=(Country.Name) &nbs......
2006 Jan 11
98 of 189 | Microsoft and EXSLT - secret breakthrough -
There are two new killer but undocumented features in Microsoft .NET 2.0 pertaining to EXSLT. Anybody like me regularly digging in System.Xml assembly probably knows it, but general audience is still unaware. So I want to share these secrets.
Secret #1. Unexpected surprise. Microsoft`s new XSLT processor (XslCompiledTransform) supports natively two EXSLT extension functions - exsl:node-set() and exsl:object-type(). That is technically speaking XslCompiledTransform supports EXSLT - Common module.
Moreover, as mentioned in the "Introducing XslCompiledTransform" article on the Microsoft XML Team`s WebLog, the behaviour of Microsoft specific msxsl:node-set() extension function......
2005 Dec 21
99 of 189 | Writing XML using JavaScript - This article illustrates a Javascript XMLWriter object....
2005 Dec 19
100 of 189 | Evaluating XML Value - There has been a bunch of discussion in the community (with commentary) on XSLT 2.0 and whether Microsoft should impement the recommendation (as well as how & when). I started tracking the external discussion by reading DonXML`s thoughts as well as Dare`s point of view and it blossomed from there. With all this talk about business cases it got me thinking about how we evaluate value and how the community can have the maximum impact on that evaluation. The point of my post isn`t about XSLT 2.0 - it`s about the decision making process here at Microsoft and how we can all learn to work better to get the right things done. However since XSLT 2.0 seems to be a hot topic (or was last week) I ......