XSD for download (Download space.xsd).
<xs:schema xmlns="http://smartics.de/xsd/projectdoc/space/1" targetNamespace="http://smartics.de/xsd/projectdoc/space/1" elementFormDefault="qualified"> <xs:element name="space"> <xs:annotation> <xs:documentation> The container for information on one space. This information is used to create a space blueprint. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="resource-bundle" type="ResourceBundleSpace"> <xs:annotation> <xs:documentation> Localized resources for the space. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="properties" type="Properties" minOccurs="0"> <xs:annotation> <xs:documentation> List of space properties in addition to those provided in the homepage template. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="doctype-bundle" type="DoctypeBundleSpace" minOccurs="0"> <xs:annotation> <xs:documentation> Defined set of doctypes used in this space. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="tools" type="Tools" minOccurs="0"> <xs:annotation> <xs:documentation> Defined set of tools used in this space. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="import-doctypes" type="ImportDoctypes" minOccurs="0"> <xs:annotation> <xs:documentation> List of doctypes to import into the add-on. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required"> <xs:annotation> <xs:documentation> The unique identifier of the doctype. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="category" type="xs:string"> <xs:annotation> <xs:documentation> The category for the space. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:complexType name="ResourceBundleSpace"> <xs:annotation> <xs:documentation> Defines the resource bundle for a space. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="l10n" maxOccurs="unbounded" type="L10nSpace"> <xs:annotation> <xs:documentation> The resource for one locale. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="L10nSpace"> <xs:annotation> <xs:documentation> Localized resources for a space. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:string"> <xs:annotation> <xs:documentation> The name of the space. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="description" type="xs:string"> <xs:annotation> <xs:documentation> The description to the space. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="about" type="xs:string"> <xs:annotation> <xs:documentation> A description about the space for the wizard. More detailed than the description. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="locale" type="xs:string"> <xs:annotation> <xs:documentation> The name of the locale this bundle provides text resources. If omitted the text resources are bound to the default. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="Properties"> <xs:annotation> <xs:documentation> The container for property information of a doctype. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="property" type="Property" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Information on one property of a doctype. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Property"> <xs:annotation> <xs:documentation> Information on one property of a doctype. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="value" minOccurs="0" type="PropertyValueElement"> <xs:annotation> <xs:documentation> The value of the property. If not specified a placeholder element is implied. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="controls" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation> The controls of the property. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="resource-bundle" minOccurs="0" type="ResourceBundleProperty"> <xs:annotation> <xs:documentation> Localized resources for the property. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="key" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The key to identify the property. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ResourceBundleProperty"> <xs:annotation> <xs:documentation> Defines the resource bundle for a property. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="l10n" maxOccurs="unbounded" type="L10nProperty"> <xs:annotation> <xs:documentation> The resource for one locale. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="L10nProperty"> <xs:annotation> <xs:documentation> Localized resources for a property. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" minOccurs="0" type="L10nName"> <xs:annotation> <xs:documentation> The localized name of the property. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="description" minOccurs="0" type="xs:string"> <xs:annotation> <xs:documentation> The description to the property. Used as the hint text in the template. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="locale" type="xs:string"> <xs:annotation> <xs:documentation> The name of the locale this bundle provides text resources. If omitted the text resources are bound to the default. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="L10nName" mixed="true"> <xs:annotation> <xs:documentation> The name resource. </xs:documentation> </xs:annotation> <xs:sequence minOccurs="0"> <xs:any namespace="##any" processContents="lax"/> </xs:sequence> </xs:complexType> <xs:complexType name="PropertyValueElement"> <xs:annotation> <xs:documentation> A container of information for a property value. </xs:documentation> </xs:annotation> <xs:sequence minOccurs="0"> <xs:choice minOccurs="0" maxOccurs="1"> <xs:element name="xml" type="XML"> </xs:element> <xs:element name="macro" type="Macro"> </xs:element> <xs:element name="placeholder" type="Placeholder"> </xs:element> </xs:choice> </xs:sequence> </xs:complexType> <xs:complexType name="Placeholder"> <xs:annotation> <xs:documentation> A placeholder with support text. </xs:documentation> </xs:annotation> <xs:attribute name="key" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The key for localized information that is rendered within the placeholder. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="XML" mixed="true"> <xs:annotation> <xs:documentation> Any elements within an XML element. </xs:documentation> </xs:annotation> <xs:sequence minOccurs="0"> <xs:any namespace="##any" processContents="lax"/> </xs:sequence> </xs:complexType> <xs:complexType name="Macro"> <xs:annotation> <xs:documentation> Information to construct a Confluence macro. </xs:documentation> </xs:annotation> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="param" type="MacroParameter"> <xs:annotation> <xs:documentation> The parameter for a macro. </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 macro. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="MacroParameter"> <xs:annotation> <xs:documentation> Information to construct a Confluence macro parameter. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The name of the macro parameter. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="key" type="xs:string"> <xs:annotation> <xs:documentation> The key to access localized information to put as the parameter value. The key is only evaluated, if the content of the parameter element is empty. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="DoctypeBundleSpace"> <xs:annotation> <xs:documentation> Defines the doctype bundle for a space. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="doctype-ref" maxOccurs="unbounded" type="DoctypeRefPattern"> <xs:annotation> <xs:documentation> List of doctypes, identified by ID or RegExp Pattern. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="directive" type="DirectiveType" default="exclude"> <xs:annotation> <xs:documentation> A regular expression to match doctype IDs. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="DirectiveType" final="restriction"> <xs:restriction base="xs:string"> <xs:enumeration value="include"> <xs:annotation> <xs:documentation> Includes the listed and matching doctypes. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="exclude"> <xs:annotation> <xs:documentation> Excludes the listed and matching doctypes. </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:complexType name="DoctypeRefPattern"> <xs:annotation> <xs:documentation> A doctypes, identified by ID or RegExp Pattern. </xs:documentation> </xs:annotation> <xs:attribute name="id" type="xs:string"> <xs:annotation> <xs:documentation> The identifier of a doctype. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="pattern" type="xs:string"> <xs:annotation> <xs:documentation> A regular expression to match doctype IDs. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="Tools"> <xs:annotation> <xs:documentation> The container for tool information. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="tool" minOccurs="0" maxOccurs="unbounded" type="ToolRef"> <xs:annotation> <xs:documentation> The identifier of a tool to be included in the space. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ToolRef"> <xs:annotation> <xs:documentation> Reference to a tool bundle. </xs:documentation> </xs:annotation> <xs:attribute name="id" type="xs:ID"> <xs:annotation> <xs:documentation> The identifier of the tool. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ImportDoctypes"> <xs:annotation> <xs:documentation> Information about a doctype category. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="set" maxOccurs="unbounded" type="ImportDoctypesSet"> <xs:annotation> <xs:documentation> List of doctypes to import into the add-on. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ImportDoctypesSet"> <xs:annotation> <xs:documentation> A set of doctypes from a remote doctype add-on to be imported into this add-on. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="doctype-ref" minOccurs="0" maxOccurs="unbounded" type="DoctypeRef"> <xs:annotation> <xs:documentation> A reference to a doctype to be imported. Currently this only includes homepages. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:token"> <xs:annotation> <xs:documentation> The identifier is the prefix of the doctype blueprint ID. That is without the name of the doctype. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="DoctypeRef"> <xs:annotation> <xs:documentation> A reference to a doctype. </xs:documentation> </xs:annotation> <xs:attribute name="id" type="xs:token"> <xs:annotation> <xs:documentation> The identifier of the doctype. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="location" type="LocationType" default="default"> <xs:annotation> <xs:documentation> The location to place the homepage for this doctype. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="homepage" type="xs:boolean" default="true"> <xs:annotation> <xs:documentation> Marker to indicate whether ('true') or not ('false') to import a homepage. This allows to promote imported doctypes without adding a homepage to the space. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="promote" type="xs:boolean" default="true"> <xs:annotation> <xs:documentation> Marker to indicate whether ('true') or not ('false') the doctype's blueprint should be promoted with this space. This allows to demote imported doctypes. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="LocationType" final="restriction"> <xs:restriction base="xs:token"> <xs:enumeration value="default"> <xs:annotation> <xs:documentation> The default location is derived from the name of the doctype. If it ends with "-type" it is considered a type. Otherwise it is 'home'. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="home"> <xs:annotation> <xs:documentation> Store the homepage on space home. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="type"> <xs:annotation> <xs:documentation> Store the homepage on types home. </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:schema>