~necoro/portato/0.8.6.2

« back to all changes in this revision

Viewing changes to plugin.xsd

  • Committer: Necoro
  • Date: 2008-03-24 22:05:07 UTC
  • Revision ID: svn-v3-trunk0:707e4503-1661-43cb-8fc9-483266be2d6d:tags%2F0.8.6.2:686
Moved versions back to tags

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8"?>
 
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://portato.sourceforge.net/plugin" targetNamespace="http://portato.sourceforge.net/plugin" elementFormDefault="qualified">
 
3
        <xs:element name="plugin">
 
4
                <xs:complexType>
 
5
                        <xs:all>
 
6
                                <xs:element name="name" type="string" />
 
7
                                <xs:element name="author" type="string" />
 
8
                                <xs:element name="import" type="importString" minOccurs="0"/>
 
9
                                <xs:element name="frontends" type="stringList" minOccurs="0" />
 
10
                                <xs:element name="hooks">
 
11
                                        <xs:complexType>
 
12
                                                <xs:sequence>
 
13
                                                        <xs:element name="hook" minOccurs="1" maxOccurs="unbounded">
 
14
                                                                <xs:complexType>
 
15
                                                                        <xs:sequence>
 
16
                                                                                <xs:element name="connect" minOccurs="0" maxOccurs="unbounded">
 
17
                                                                                        <xs:complexType>
 
18
                                                                                                <xs:simpleContent>
 
19
                                                                                                        <xs:extension base="xs:string">
 
20
                                                                                                                <xs:attribute name="type" default="before">
 
21
                                                                                                                        <xs:simpleType>
 
22
                                                                                                                                <xs:restriction base="xs:string">
 
23
                                                                                                                                        <xs:enumeration value="before" />
 
24
                                                                                                                                        <xs:enumeration value="override" />
 
25
                                                                                                                                        <xs:enumeration value="after" />
 
26
                                                                                                                                </xs:restriction>
 
27
                                                                                                                        </xs:simpleType>
 
28
                                                                                                                </xs:attribute>
 
29
                                                                                                        </xs:extension>
 
30
                                                                                                </xs:simpleContent>
 
31
                                                                                        </xs:complexType>
 
32
                                                                                </xs:element>
 
33
                                                                        </xs:sequence>
 
34
                                                                        <xs:attribute name="type" type="string" use="required" />
 
35
                                                                        <xs:attribute name="call" type="functionCall" use="required" />
 
36
                                                                </xs:complexType>
 
37
                                                        </xs:element>
 
38
                                                </xs:sequence>
 
39
                                        </xs:complexType>
 
40
                                </xs:element>
 
41
                                <xs:element name="options" minOccurs="0">
 
42
                                        <xs:complexType>
 
43
                                                <xs:sequence>
 
44
                                                        <xs:element name="option" minOccurs="1" maxOccurs="unbounded" type="string" />
 
45
                                                </xs:sequence>
 
46
                                        </xs:complexType>
 
47
                                </xs:element>
 
48
                                <xs:element name="menu" minOccurs="0">
 
49
                                        <xs:complexType>
 
50
                                                <xs:sequence>
 
51
                                                        <xs:element name="item" minOccurs="1" maxOccurs="unbounded">
 
52
                                                                <xs:complexType>
 
53
                                                                        <xs:simpleContent>
 
54
                                                                                <xs:extension base="string">
 
55
                                                                                        <xs:attribute name="call" type="functionCall" use="required" />
 
56
                                                                                </xs:extension>
 
57
                                                                        </xs:simpleContent>
 
58
                                                                </xs:complexType>
 
59
                                                        </xs:element>
 
60
                                                </xs:sequence>
 
61
                                        </xs:complexType>
 
62
                                </xs:element>
 
63
                        </xs:all>
 
64
                </xs:complexType>
 
65
        </xs:element>
 
66
        <xs:simpleType name="importString">
 
67
                <xs:restriction base="xs:string">
 
68
                        <xs:pattern value="([a-zA-Z_]+\.?)+" />
 
69
                </xs:restriction>
 
70
        </xs:simpleType>
 
71
        <xs:simpleType name="functionCall">
 
72
                <xs:restriction base="xs:string">
 
73
                        <xs:pattern value="[a-zA-Z_][0-9a-zA-Z_]*" />
 
74
                </xs:restriction>
 
75
        </xs:simpleType>
 
76
        <xs:simpleType name="string">
 
77
                <xs:restriction base="xs:string">
 
78
                        <xs:minLength value="1" />
 
79
                </xs:restriction>
 
80
        </xs:simpleType>
 
81
        <xs:simpleType name="_stringList">
 
82
                <xs:list itemType="string"/>
 
83
        </xs:simpleType>
 
84
        <xs:simpleType name="stringList">
 
85
                <xs:restriction base="_stringList">
 
86
                        <xs:minLength value="1" />
 
87
                </xs:restriction>
 
88
        </xs:simpleType>
 
89
</xs:schema>