Microsoft supports a subset of axes, functions, and operators in its implementation. Quite a bit of functionality has been left out. An exact listing of what has been left out is shown in Table 6.2. The Microsoft implementation of XPath digresses from the W3C specification in root queries, reporting errors, document order, data types, and cross-product queries.
It isn't always possible to map one data type to another when you're talking about XDR schema, XPath, and SQL Server 2000. Each of these entities has its own data types, and many of these data types have no counterpart in the other entities. Along with this, implicit and explicit conversions of data types can often change query meanings in ways we are not expecting.
SQL Server provides the CONVERT function, which implicit conversions use to interchange data types.
A location path is an expression that selects a node set relative to the context node. It can be broken down into one or more location steps separated by forward slashes . Location paths are composed of three different parts : a node test, an axis identifier, and zero or more predicates.
A predicate acts similarly to the WHERE clause in a SQL statement. It narrows down or filters a node with respect to an axis. For each node in the node set to which the predicate is applied, the predicate is evaluated with that node as the context node. If the predicate expression evaluates to TRUE for that node, the node is included in the resulting node set. Predicates are composed of node identifiers that have conditions placed on them via Boolean, arithmetic, relational, and equality operators.
dbobject allows direct access to database tables and views. Its use is almost exclusive to binary data database columns , which aren't nearly as prevalent as the type of usage obtained from templates and schemas.