| 1 |
<?xml version="1.0" encoding="shift_jis"?> |
| 2 |
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="nft.framework.plugin.Plugin" xmlns:NS="nft.framework.plugin.Plugin" targetNamespace="nft.framework.plugin.Plugin"> |
| 3 |
<xs:element name="plug-in" type="Plugin"> |
| 4 |
<xs:key name="ctb-id"> |
| 5 |
<xs:selector xpath="NS:contribution" /> |
| 6 |
<xs:field xpath="@id" /> |
| 7 |
</xs:key> |
| 8 |
</xs:element> |
| 9 |
<xs:complexType name="Plugin"> |
| 10 |
<xs:sequence maxOccurs="unbounded" minOccurs="1"> |
| 11 |
<xs:sequence> |
| 12 |
<xs:group ref="PluginInfo" minOccurs="0" /> |
| 13 |
<xs:element name="contribution" type="Contribution" /> |
| 14 |
</xs:sequence> |
| 15 |
</xs:sequence> |
| 16 |
</xs:complexType> |
| 17 |
<xs:group name="PluginInfo"> |
| 18 |
<xs:sequence> |
| 19 |
<xs:element name="title" type="xs:string" /> |
| 20 |
<xs:element name="author" type="xs:string" /> |
| 21 |
<xs:element name="homepage" type="xs:string" minOccurs="0" /> |
| 22 |
<xs:element name="option-properties" type="PluginOptionProeprties" minOccurs="0" /> |
| 23 |
</xs:sequence> |
| 24 |
</xs:group> |
| 25 |
<xs:complexType name="PluginOptionProeprties"> |
| 26 |
<xs:sequence /> |
| 27 |
</xs:complexType> |
| 28 |
<xs:complexType name="Contribution" mixed="true"> |
| 29 |
<xs:sequence> |
| 30 |
<!--xs:group ref="ContributionParameters"/--> |
| 31 |
<xs:any namespace="##any" processContents="lax" maxOccurs="unbounded" minOccurs="0" /> |
| 32 |
</xs:sequence> |
| 33 |
<xs:attribute name="type" type="xs:string" use="required" /> |
| 34 |
<xs:attribute name="id" type="xs:string" use="required" /> |
| 35 |
<xs:anyAttribute /> |
| 36 |
</xs:complexType> |
| 37 |
<xs:group name="ContributionParameters"> |
| 38 |
<xs:all> |
| 39 |
<xs:element ref="name"/> |
| 40 |
<xs:element ref="description" minOccurs="0" /> |
| 41 |
</xs:all> |
| 42 |
</xs:group> |
| 43 |
<xs:complexType name="CSharpClass"> |
| 44 |
<xs:sequence /> |
| 45 |
<xs:attribute name="name" type="xs:string" /> |
| 46 |
<xs:attribute name="codebase" type="xs:string" /> |
| 47 |
</xs:complexType> |
| 48 |
<xs:element name="contribution" type="Contribution" abstract="true"> |
| 49 |
</xs:element> |
| 50 |
<xs:element name="name" type="xs:string" /> |
| 51 |
<xs:element name="description" type="xs:string" /> |
| 52 |
</xs:schema> |