我正在为我的Eclipse插件创建自己的扩展点,我也看了一下其他扩展点的模式,例如org.Eclipse.ui.editors的。
然而,有一点我不明白:使用扩展编辑器在plugin.xml中添加扩展时,像" editor"作为childelements添加到"扩展"。但是,在扩展点模式中,这些元素不会被声明为" extension"的子元素。但在同一水平上。这是如何组合在一起的?
这是注册扩展时生成的xml:
<plugin>
<extension
point="org.eclipse.ui.editors">
<editor
class="mc.umlp.cd.graphics.CDGraphicsEditor"
....>
</editor>
</extension>
</plugin>
这是editors.exsd。
的摘录<schema targetNamespace="org.eclipse.ui" xmlns="http://www.w3.org/2001/XMLSchema">
...
<element name="extension">
...
</element>
<element name="editor">
...
</element>
<element name="contentTypeBinding">
...
</element>
...
</schema>
当我尝试将扩展名注册到我自己的扩展点时,我无法将任何子元素添加到扩展名中,这就是我期望查看扩展点模式的内容。
答案 0 :(得分:1)
您使用sequence
或choice
添加对其他元素的引用:
<element name="extension">
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
<element ref="detail"/>
</sequence>
...
</complexType>
</element>
<element name="detail">
....
</element>
“定义”选项卡如下所示: