XSD for download (Download alias.xsd).
<xs:schema xmlns="http://smartics.de/alias/1.1.0" targetNamespace="http://smartics.de/alias/1.1.0" elementFormDefault="qualified"> <xs:element name="aliases"> <xs:annotation> <xs:documentation source="description"> The container for the groups of aliases. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="extension" minOccurs="0" maxOccurs="unbounded" type="Extension"> <xs:annotation> <xs:documentation source="description"> Extensions to aliases. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="group" minOccurs="0" maxOccurs="unbounded" type="Group"> <xs:annotation> <xs:documentation source="description"> Groups aliases and provides a name for them. Used only for documentation purposes. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="Extension"> <xs:annotation> <xs:documentation source="description"> An extension allows to extend a command of an alias. The extended version is added as an additional alias. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" maxOccurs="unbounded" type="xs:string"> <xs:annotation> <xs:documentation source="description"> The name of the extension. The string is appended to the alias name to create an extended version of the alias. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="template" maxOccurs="unbounded" type="xs:string"> <xs:annotation> <xs:documentation source="description"> The name template to extend a matching alias command. The place holder {@cmd} specifies the location where the command will be written to. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="comment" minOccurs="0"> <xs:annotation> <xs:documentation source="description"> The comment for the extension. The description may contain any valid XHTML. </xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:any namespace="##any" processContents="lax"/> </xs:sequence> <xs:attribute name="mnemonic" type="xs:string" use="optional"> <xs:annotation> <xs:documentation> A short sequence of characters that help to understand what the extension name means. For instance if the name is 'aq' the mnemonic may read '... and quit'. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="apply-to" minOccurs="0" maxOccurs="1" type="ApplyTo"> <xs:annotation> <xs:documentation source="description"> Specifies the group and alias names the extension will be applied to. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="env" type="xs:string" use="optional"> <xs:annotation> <xs:documentation> The name of the environment the extension can be applied to. If no environment is specified, the extension is applied to every alias of all environments. Some extensions may contains shell specific syntax. In this case use an string that matches a ScriptBuilder implementation. Valid values include: windows, bash </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ApplyTo"> <xs:annotation> <xs:documentation source="description"> Lists the name of groups and aliases an extension is applied to. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="group" minOccurs="0" maxOccurs="unbounded" type="xs:string"> <xs:annotation> <xs:documentation source="description"> The name of a group. The extension is applied to all members of the group (as long as the environment of the extension matches). </xs:documentation> </xs:annotation> </xs:element> <xs:element name="alias" minOccurs="0" maxOccurs="unbounded" type="xs:string"> <xs:annotation> <xs:documentation source="description"> The name of an aliast he extension is applied to (as long as the environment of the extension matches). </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Group"> <xs:annotation> <xs:documentation source="description"> A group of aliases provides a name for them. Allows to group aliases in documentation for better readability. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="comment" minOccurs="0"> <xs:annotation> <xs:documentation source="description"> The comment for the group for documentation purpose only. The description may contain any valid XHTML. </xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:any namespace="##any" processContents="lax"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="alias" minOccurs="0" maxOccurs="unbounded" type="Alias"> <xs:annotation> <xs:documentation source="description"> A single alias for a command shell. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The name of the group. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="Alias"> <xs:annotation> <xs:documentation source="description"> A single alias for a command shell. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:string"> <xs:annotation> <xs:documentation source="description"> The name of the alias. This is the string sequence to call the command in a shell. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="command"> <xs:annotation> <xs:documentation source="description"> The command to be executed in an environment. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="passArgs" type="xs:boolean" default="true"> <xs:annotation> <xs:documentation> A flag to indicate to the script generator that it must allow to add arbitrary arguments to the call. Usually it makes sense to allow this so the default value of the attribute if omitted is 'true'. In case where your want to disallow adding arguments, choose 'false'. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="comment" minOccurs="0"> <xs:annotation> <xs:documentation source="description"> The comment is for documentation purpose only. The description may contain any valid XHTML. </xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:any namespace="##any" processContents="lax"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="env" type="xs:string" use="optional"> <xs:annotation> <xs:documentation> The name of the environment the alias is defined for. If no environment is specified, the alias is used in all environments. This is useful for tools like Maven or Ant. Some aliases may contains shell specific syntax. In this case use an string that matches a ScriptBuilder implementation. Valid values include: windows, bash </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:schema>