We are in the process of locking down System.Xml for Beta 2 of the .NET Framework 2.0 and Visual Studio 2005. In the past few months we have received customer feedback about our feature set previewed in the Whidbey Alpha & Whidbey Beta 1 and this has guided our decision making process as to where to focus our energies to ensure a comprehensive feature set.
Below is the list of changes to System.Xml and subsidiary namespaces that have occurred between Beta 1 and Beta 2 of the .NET Framework 2.0 release.
XmlSchemaValidator
The XmlSchemaValidator class provides a push model API for W3C XML Schema validation. The primary scenario for using the XmlSchemaValidator is for validating an XML infoset in-place without having to serialize it as an XML document then reparse the document using a validating XML reader.
XmlReader
public virtual bool CanReadValueChunk { get; }
public virtual int ReadValueChunk (byte[] buffer, int startIndex, int count);
public virtual bool CanReadBinaryContent { get; }
public virtual int ReadContentAsBase64 (byte[] buffer, int startIndex, int count);
public virtual int ReadContentAsBinHex (byte[] buffer, int startIndex, int count);
public virtual int ReadElementContentAsBase64(byte[] buffer, int startIndex, int count);
public virtual int ReadElementContentAsBinHex(byte[] buffer, int startIndex, int count);
XmlReaderSettings
XmlWriter
XPathDocument
XPathNavigator and XPathEditableNavigator
XmlDocument
public XmlSchemaSet Schemas { get; set; }
public virtual IXmlSchemaInfo SchemaInfo { get; }
XsltCommand
Inference
XPathExpression -
XmlArgumentList
To reduce the cost of churn caused by the obsoletion of XslTransform this class has been removed. In its place the XsltArgumentList from v1.1 can be used
XQueryCommand
Microsoft has decided not to ship a client side XQuery implementation in .NET Framework 2.0 as our customers expect us to ship an implementation that meets the following criteria:
As a core platform component in Windows, they also expect us to ship a product that meets the high bar of not breaking their applications when future updates are released. After talking to key customers and partners, we have determined it is important that we cross this high bar before shipping a full implementation of XQuery in the platform.
The best estimates tell us that ETA for XQuery to become a W3C recommendation is end of 2005 which does not fit with the .NET Framework 2.0 product release cycle.
In the meantime, we are shipping a well-defined small subset of XQuery in SQL Server 2005 to query information stored natively as XML data type. This will enable new customer scenarios in SQL Server for storing and retrieving semi-structured data.
In the NET Framework 2.0 RTM timeframe, we recommend that our customers continue to use XSLT and XPath on the client side to solve their key client side filtering and transformation scenarios. With this in mind, we have made significant improvements to our client side story including:
Note: As a result of not shipping XQuery, XML Views using mapping and XQuery to query SQL Server 2005 and the XmlAdapter to perform updates that were originally previewed in the PDC Alpha release of .NET V2.0 have also been removed. These were removed in the Beta 1 release.