WHERE ARE WE? well as other, physical optimizations such as types of indexes. With an XML data type, the possibility of strong typing through XML Schemas, and a query language that allows optimizations based on strong typing, XQuery users will most likely experience the same improvements in performance as the data type and query language matures. Programmers (and especially data center managers) like the idea of the same code running faster as vendors improve their parser engines, with minimal changes to the query code itself. Where Are We? SQL Server 2005 not only introduces XML as a new scalar data type, it introduces a query language and a data manipulation language to operate on it. The query language selected for operation inside SQL Server is XQuery, a new query language that is still in standardization. (At the time of this writing, XQuery was a W3C Working Draft). The XQuery implementation inside the database makes some simplifications and optimizations when compared with the entire specification. The subsetting is done to allow the queries to be optimizable and fast. This is a goal of XQuery itself, although the specification does not define implementable subsets. Because XQuery does not specify a data manipulation language, SQL Server provides a proprietary language that uses XQuery expressions to produce sequences to mutate, known as XML DML. The standardization of XML DML is being considered, because every implementation by relational or XML database vendors is different. This is reminiscent of the early days of SQL. In addition to the SQL Server XML engine, Microsoft provides an abstraction of query languages in the client XML stack. This can consume a query in any XML-based query language and produce a standard representation of the query. This abstraction will be used to expose XML Views over SQL data using the query language of the programmer s choice. Finally, because SQL Server 2005 can run .NET code, and SQL Server XML Views are based on .NET, it is feasible to run a normally client-side XML stack from within a stored procedure or user-defined function. This variation of XQuery, XPath, and XSLT is more likely to correspond more closely to the complete specification for these languages, but because it operates on documents in memory rather than directly accessing the database, it should be used sparingly in the server, based on document size. We ll explore XML Views and the client-side XML stack in Chapter 13.
Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost Java Web Hosting services