An extension point schema is an XML schema file that defines a contract for extension points that extensions must conform to in order to plug-in and extend the platform. More specifically, an extension point schema specifies a formal grammar for an extension point's elements and attributes. This grammar dictates the structure, content and semantics of any contributed extension's XML mark-up.
Extension point schemas are used during plug-in development to do the following:
The Extension Point Schema Editor allows you to do the following:
This editor abstracts the extension point schema's file mark-up away as an implementation detail that you do not have to learn to use.
This editor is comprised of the following pages:
Click the Preview Reference Document hyperlink to preview the reference document pertaining to the saved or unsaved contents of the edited extension point schema. This action generates an HTML representation of the schema and opens it in a browser.
Extension point schemas are XML schemas. As a result, they are written in XML and are able to take advantage of schema annotations to improve ease of processing and readability. However, extension point schemas only use a small subset of XML schema features defined by the W3C XML Schema specification.
Use of a small XML schema feature subset dramatically simplifies the structure and syntax of extension point schemas while still addressing the required needs of the extension point problem domain. It also provides an aesthetic one-to-one mapping of the schema grammar to an equivalent DTD grammar.
The main extension point schema limitations are as follows: