XML Schema Path Language (SPath)
XPath is a very convenient and powerful language for selecting parts of XML documents, it is one of the most versatile and useful XML Technologies. However, XPath is limited to XML documents, and using XPath to access XML Schemas is not convenient at all, because the XML syntax of XML Schema does not provide a very useful representation of the XML Schema data model, the XML Schema components. Based on the idea of XML Schema Component XML (SCX), the XML Schema Path Language (SPath) takes this idea one step further and aims at making XML Schema access an integral part of XPath.
Essentially, SPath extends XPath by introducing new node types, new axes, and new functions, so that SPath users can seamlessly switch between the worlds of XML documents and XML Schemas. SPath support scenarios where schema access is critical, one example being schema-oriented interface generation, and another being the loose coupling of XML-based B2B, where schemas need to accessed and inspected at runtime, so that applications can gracefully react to differences in schema versions.

