XML in SQL Server 2005

I was looking more at the new XML format in Office 12 and what you can do with that. Web services can be huge and do a lot of cool document automation and generation. I came across this article at MSDN

I’m not a database or SQL guy, so my apologies if I butcher this. Here’s what I gleaned from what’s new in SQL Server 2005 as it relates to XML.

* There’s a new native datatype: XML
* XML values are stored in an internal format as large binary objects (BLOB) in order to support the XML model characteristics more faithfully such as document order and recursive structures.
* SQL Server 2005 provides XML schema collections as a way to manage W3C XML Schemas as metadata
* XML instances can be retrieved using the T-SQL SELECT statement. Five built-in methods on the XML data type are provided to query and modify XML instances.
* The XML data type methods accept XQuery and includes the navigational language XPath 2.0
* A mechanism for indexing XML columns is provided to speed up queries. (Query execution processes each XML instance at runtime; this becomes expensive whenever the XML value is large in size or the query is evaluated on a large number of rows in a table. )
* XML schema information is used in storage and query optimizations.
* Users can store both relational and XML data within the same database; the database engine knows how to honor the XML data model in addition to the relational data model.
* The existing FOR XML functionality has been enhanced in several ways. OpenXML’s (think: Office 12) functional enhancements consist of accepting XML data type in sp_preparedocument and generating XML and new SQL type columns in the rowset.
* Data is validated (against a XML schema) during insertion and modification according to the target namespace of each top-level element.
* During query compilation, XML schemas are used for type checking and static errors are issued for type mismatch. The query compiler also uses XML schemas for query optimizations.
* Almost all of the W3C XML Schema 1.0 specification is supported.
* You can create logical XML Views of your relational data using SQLXML mapping technology. An XML View, also referred to as a “mapping” or an “annotated schema,” is created by adding special annotations to a given XSD schema.
* Once you’ve created a XML View of your database, you can query that view as if it were an actual XML Document using the XPath query language.
* Two new ways to access SQLXML functionality have been added:
** SQLXML Managed Classes
** SQLXML Web Services

From the Conclusion:
* Server-side features include a native implementation for XML storage, indexing, and query processing.
* Existing features such as FOR XML and OpenXML have also been enhanced.
* Client-side support consists of enhancements to ADO.NET to support the XML data type and the SQLXML mapping technology Web release enhancements have now been incorporated into SQL Server 2005.
* The XML data type provides a simple mechanism of storing XML data by inserting XML data into an untyped XML column.
* XML data type preserves document order and is useful for applications such as document management.
** It can also handle recursive XML schemas.

Recent Entries

Google Storage pricing
Google's done an interesting thing with their storage pricing.On Google's announcement of the ability to upload any file type to…
An Experiment: Using only Chrome for a week
I'm a man of many browsers, but Firefox has my heart (or rather Firefox's extensions do). I want to put…
Microsoft announces Office 2010 versions and pricing
Microsoft announced Office 2010 pricing at CES. Office Home and Business includes Word, Excel, PowerPoint, OneNote, and Outlook. There’s no…