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.