Mercurial > hg > release > thermostat-0.13
changeset 1059:e11e9cbab899 0.7-branchpoint
Initial plugin.xsd schema for plugin.xml files.
Reviewed-by: neugens, omajid, vanaltj, jerboaa
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-March/005959.html
author | Giovanni Astarita <gastarit@redhat.com> |
---|---|
date | Thu, 04 Apr 2013 16:55:58 -0400 |
parents | 36241f812295 |
children | 637eafc0ee48 |
files | distribution/docs/plugin.xsd |
diffstat | 1 files changed, 131 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distribution/docs/plugin.xsd Thu Apr 04 16:55:58 2013 -0400 @@ -0,0 +1,131 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns="http://icedtea.classpath.org/thermostat/plugins/v1.0" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://icedtea.classpath.org/thermostat/plugins/v1.0" + elementFormDefault="qualified"> + + +<!-- definition of simple elements --> +<xs:element name="name" type="xs:string"/> +<xs:element name="bundle" type="xs:string"/> +<xs:element name="dependency" type="xs:string"/> +<xs:element name="description" type="xs:string"/> +<xs:element name="short" type="xs:string"/> +<xs:element name="long" type="xs:string"/> +<xs:element name="argument" type="xs:string"/> +<xs:element name="required" type="xs:boolean"/> + + +<!-- definition of complex elements --> +<xs:element name="plugin"> + <xs:complexType> + <xs:choice> + <xs:sequence> + <xs:element ref="commands"/> + <xs:element ref="extensions" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:element ref="extensions"/> + </xs:choice> + </xs:complexType> +</xs:element> + + +<xs:element name="commands"> + <xs:complexType> + <xs:sequence> + <xs:element ref="command" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:element> + +<xs:element name="extensions"> + <xs:complexType> + <xs:sequence> + <xs:element ref="extension" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +<xs:element name="extension"> + <xs:complexType> + <xs:sequence> + <xs:element ref="name"/> + <xs:element ref="bundles"/> + <xs:element ref="dependencies" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +<xs:element name="command"> + <xs:complexType> + <xs:sequence> + <xs:element ref="name"/> + <xs:element ref="description"/> + <xs:element ref="options"/> + <xs:element ref="bundles"/> + <xs:element ref="dependencies"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +<xs:element name="options"> + <xs:complexType> + <xs:sequence> + <xs:element ref="group" minOccurs="0" maxOccurs="1"/> + <xs:element ref="option" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +<xs:element name="group"> + <xs:complexType> + <xs:sequence> + <xs:element ref="required" minOccurs="0" maxOccurs="1"/> + <xs:element ref="option" minOccurs="2" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +<xs:element name="option"> + <xs:complexType> + <xs:sequence> + <xs:choice> + <xs:sequence> + <xs:element ref="long"/> + <xs:element ref="short" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:element ref="short"/> + </xs:choice> + <xs:element ref="argument" minOccurs="0" maxOccurs="1"/> + <xs:element ref="required" minOccurs="0" maxOccurs="1"/> + <xs:element ref="description" minOccurs="0" maxOccurs="1"/> + </xs:sequence> + <xs:attribute name="common" type="xs:boolean" use="optional"/> + </xs:complexType> +</xs:element> + + +<xs:element name="bundles"> + <xs:complexType> + <xs:sequence> + <xs:element ref="bundle" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +<xs:element name="dependencies"> + <xs:complexType> + <xs:sequence> + <xs:element ref="dependency" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:element> + + +</xs:schema>