Расширения - это основной механизм расширения функциональности платформы с помощью модулей. Расширения не могут быть созданы произвольно. Они объявляются с помощью четкой спецификации, которая задается точкой расширения.
Расширение должно соответствовать спецификации точки расширения, которую оно расширяет. Точка расширения задает атрибуты и ожидаемые значения, которые должны быть объявлены расширением. Эта информация хранится в реестре модулей платформы. Провайдеры точек расширения запрашивают эти значения в реестре, поэтому важно, чтобы модуль предоставлял требующуюся информацию.
Минималистическое объявление точки расширения выглядит очень просто. Оно задает ИД и имя точки расширения. Вся прочая информация, предоставляемая точкой расширения, для каждой точки расширения задается по-своему и указывается отдельно. Определения точек расширения платформы описаны в разделе Справочник по точкам расширения платформы.
Справочная документация полезна, но она не предоставляет программных возможностей проверки спецификации расширения. Поэтому в используется схема точки расширения PDE, которая описывает точку расширения в формате, пригодном для машинной обработки.
Схема точки расширения - это правильная схема XML согласно спецификации W3C. Однако полная спецификация схем XML слишком сложна, в нашем случае большинство этих сложностей не нужны. В PDE применяется подмножество функций схем XML. Каждая схема точки расширения - это правильная схема XML, но в PDE используется лишь часть ее функций.
Описание точки расширения с помощью схемы XML в PDE имеет следующие преимущества:
PDE использует небольшое подмножество схем XML. Работа с полным набором функций схем XML представляется излишеством в данном конкретном случае. Это подмножество служит практически точным отображением схем на DTD, но свободно от недостатков DTD. Ниже перечислены основные ограничения схем точки расширения в PDE:
Записав схему XML в этих ограничениях, вы с удивлением обнаружите, насколько она похожа на DTD, задающий ту же самую грамматику. Преимущество схемы заключается в аннотациях (и документации, и мета-данных). Дополнительным преимуществом схем является то, что они сами написаны на XML, и читать и обрабатывать их проще.
Список выше приведен только для справки. Скорее всего вы будете создавать схему XML в редакторе схем PDE, который позаботится о создании правильного файла.