XSD for download (Download doctype.xsd).
<xs:schema xmlns="http://smartics.de/xsd/projectdoc/doctype/1" targetNamespace="http://smartics.de/xsd/projectdoc/doctype/1" elementFormDefault="qualified"> <xs:element name="doctype"> <xs:annotation> <xs:documentation> The container for information on one document type. </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="resource-bundle" minOccurs="0" type="ResourceBundleDoctype"> <xs:annotation> <xs:documentation> Localized resources for the doctype. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="metadata" minOccurs="0" type="Metadata"> <xs:annotation> <xs:documentation> Metadata for the doctype. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="properties" minOccurs="0" type="Properties"> <xs:annotation> <xs:documentation> List of properties in addition to those provided in the base template. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="sections" minOccurs="0" type="Sections"> <xs:annotation> <xs:documentation> List of sections in addition to those provided in the base template. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="related-doctypes" minOccurs="0" type="RelatedDoctypes"> <xs:annotation> <xs:documentation> List of doctypes that are related to this doctype. The list is added to index pages and home pages as references. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="wizard" minOccurs="0" type="Wizard"> <xs:annotation> <xs:documentation> Selects the template and the validation code for the wizard. </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="base-template" type="BaseTemplate" default="standard"> <xs:annotation> <xs:documentation> The name of the template this doctype is based on. All information is derived from this base doctype. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="provide-type" type="TypeTemplate" default="none"> <xs:annotation> <xs:documentation> Allows to create a standard type for the doctype. For instance the foo doctype should provide a foo-type doctype as a means of categorization by default. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="has-homepage" type="xs:boolean" default="true"> <xs:annotation> <xs:documentation> Signals whether or not the doctype has its own homepage. If this flag is set to 'false', no doctype homepage is created. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="category" type="xs:string" default="default"> <xs:annotation> <xs:documentation> The category allows to group doctypes on the homepage of the space. A standard category is 'volume'. Categories used here are defined in the add-on descriptor. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="context-provider" type="xs:string"> <xs:annotation> <xs:documentation> The full class name of the context provider. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="create-result" type="xs:string"> <xs:annotation> <xs:documentation> The action to take on for page creation. May be 'edit' (default) or 'view'. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:complexType name="Metadata"> <xs:annotation> <xs:documentation> Information on one property of a doctype. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="property" minOccurs="0" maxOccurs="unbounded" type="MetadataProperty"> <xs:annotation> <xs:documentation> The value of the metadata property. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MetadataProperty"> <xs:annotation> <xs:documentation> Information on one metadata property of a doctype. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="key" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The localizable key of the name to identify the metadata property. Note that metadata is not translated when written to the properties file. Metadata may not be localized. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="BaseTemplate" final="restriction"> <xs:restriction base="xs:string"> <xs:enumeration value="empty"> <xs:annotation> <xs:documentation> Provides no properties and no sections. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="portrait"> <xs:annotation> <xs:documentation> Provides a standard doctype with the option of rendering an image to the right of the properties table. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="standard"> <xs:annotation> <xs:documentation> Provides properties and sections typically all doctypes should support. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="type"> <xs:annotation> <xs:documentation> Provides type-like properties and sections. Especially there is a section to list all documents that reference this type. </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name="TypeTemplate" final="restriction"> <xs:restriction base="xs:string"> <xs:enumeration value="none"> <xs:annotation> <xs:documentation> The doctype does not provide a type. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="standard-type"> <xs:annotation> <xs:documentation> The doctype provides a type with typical properties and sections. </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:complexType name="ResourceBundleDoctype"> <xs:annotation> <xs:documentation> Defines the resource bundle for a doctype. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="l10n" maxOccurs="unbounded" type="L10nDoctype"> <xs:annotation> <xs:documentation> The resource for one locale. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="L10nDoctype"> <xs:annotation> <xs:documentation> Localized resources for a doctype. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="L10nName"> <xs:annotation> <xs:documentation> The name of the doctype. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="description" type="xs:string"> <xs:annotation> <xs:documentation> The description to the doctype. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="about" type="xs:string"> <xs:annotation> <xs:documentation> A description about the doctype for the wizard. More detailed than the description. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="type" minOccurs="0" type="L10nName"> <xs:annotation> <xs:documentation> The name of the type. Needed if the name cannot be constructed with default values (adding " Type" / "Types"). </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:attribute name="plural" type="xs:string"> <xs:annotation> <xs:documentation> The name of the doctype in its plural form. If omitted, the value defaults to the Name with an 's' added. </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:attribute name="target" type="xs:string"> <xs:annotation> <xs:documentation> The name of the XML element this property is targeted to be inserted into. </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="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="MacroConfig"> <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:complexType> <xs:complexType name="Sections"> <xs:annotation> <xs:documentation> The container for section information. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="section" type="Section" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Information on one section of a doctype. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Section"> <xs:annotation> <xs:documentation> Information on one section of a doctype. </xs:documentation> </xs:annotation> <xs:sequence> <xs:choice> <xs:element name="config" minOccurs="0" type="MacroConfig"> <xs:annotation> <xs:documentation> Configuration for the generated section macro. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="xml" minOccurs="0" type="XML"> <xs:annotation> <xs:documentation> The content as XML that is pasted verbatim in the generated template. </xs:documentation> </xs:annotation> </xs:element> </xs:choice> <xs:element name="resource-bundle" minOccurs="0" type="ResourceBundleSection"> <xs:annotation> <xs:documentation> Localized resources for the section. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="key" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The locale-independent key of the section. This key is used to identify the section and is used to lookup localized information (title). </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="target" type="xs:string"> <xs:annotation> <xs:documentation> The name of the XML element this section is targeted to be inserted into. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ResourceBundleSection"> <xs:annotation> <xs:documentation> Defines the resource bundle for a section. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="l10n" maxOccurs="unbounded" type="L10nSection"> <xs:annotation> <xs:documentation> The resource for one locale. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="prefix" type="xs:string"> <xs:annotation> <xs:documentation> The prefix for label keys in the resource bundle. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="L10nSection"> <xs:annotation> <xs:documentation> Localized resources for a section. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" minOccurs="0" type="xs:string"> <xs:annotation> <xs:documentation> The localized title of the section. If the title is not specified, it is assumed that is provided by another add-on. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="description" minOccurs="0" type="xs:string"> <xs:annotation> <xs:documentation> The description as a placeholder text for the section. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="intro" minOccurs="0" type="xs:string"> <xs:annotation> <xs:documentation> The localized intro text of the section. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="extro" minOccurs="0" type="xs:string"> <xs:annotation> <xs:documentation> The localized extro text of the section. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="label" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> The localized label resource. </xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="key" type="xs:string" use="required"> <xs:annotation> <xs:documentation> The key of the label. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </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="RelatedDoctypes"> <xs:annotation> <xs:documentation> The container for section information. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="doctype-ref" minOccurs="0" maxOccurs="unbounded" type="DoctypeRef"> <xs:annotation> <xs:documentation> The identifier of a doctype this doctype is related to. Doctypes mentioned here will be linked to from the home- and index page of this doctype. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="type-ref-property" type="xs:string"> <xs:annotation> <xs:documentation> The identifier of a property key that is used to match document instances of this type doctype. If the doctype is not a type, this attribute is ignored. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="DoctypeRef"> <xs:annotation> <xs:documentation> Information on a related doctype. </xs:documentation> </xs:annotation> <xs:attribute name="id" type="xs:ID"> <xs:annotation> <xs:documentation> The identifier of the doctype the reference points to. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="Wizard"> <xs:annotation> <xs:documentation> Instructions on which wizard components to select. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="form-param" minOccurs="0" maxOccurs="unbounded" type="WizardFormParameter"> <xs:annotation> <xs:documentation> The list of form parameters on a soy template. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="field" minOccurs="0" maxOccurs="unbounded" type="WizardField"> <xs:annotation> <xs:documentation> The list of fields on a soy template to be passed on to the wizard. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="param" minOccurs="0" maxOccurs="unbounded" type="WizardParameter"> <xs:annotation> <xs:documentation> The list of parameters on a soy template to be passed on to the wizard. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="template" type="WizardTemplate" default="standard"> <xs:annotation> <xs:documentation> Selects the template to use for the UI of the wizard. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="code" type="WizardCode" default="standard"> <xs:annotation> <xs:documentation> Selects the validation (and other) code to be attached to the wizard. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="form-id" type="xs:string" default="default-form"> <xs:annotation> <xs:documentation> Specifies the identifier of the generated wizard form. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="WizardField"> <xs:annotation> <xs:documentation> Information on a field for a wizard on a Soy template. </xs:documentation> </xs:annotation> <xs:sequence minOccurs="0"> <xs:choice minOccurs="0" maxOccurs="1"> <xs:element name="xml" type="XML"> </xs:element> </xs:choice> </xs:sequence> <xs:attribute name="name" type="xs:string"> <xs:annotation> <xs:documentation> The name of the field. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="key" type="xs:string"> <xs:annotation> <xs:documentation> The key to the label in the resource bundle. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="height" type="xs:int" default="6"> <xs:annotation> <xs:documentation> The height of the field. Note that not every field supports to control the height. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="template" type="WizardFieldTemplate"> <xs:annotation> <xs:documentation> The base template for the field. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="WizardFormParameter"> <xs:annotation> <xs:documentation> Information on a form parameter for a wizard on a Soy template. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="WizardParameter"> <xs:annotation> <xs:documentation> Information on a parameter for a wizard on a Soy template. </xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string"> <xs:annotation> <xs:documentation> The name of the parameter. </xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="WizardTemplate" final="restriction"> <xs:restriction base="xs:string"> <xs:enumeration value="blank"> <xs:annotation> <xs:documentation> Provides a frame without fields and without parameters. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="minimal"> <xs:annotation> <xs:documentation> Provides a frame with no fields and only the most common parameters. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="minimal-params"> <xs:annotation> <xs:documentation> Like 'minimal' provides a frame with only the most common parameters. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="minimal-fields"> <xs:annotation> <xs:documentation> Like 'minimal-params' provides a frame with only the most common parameters, but also includes some standard fields (name and short description). </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="standard"> <xs:annotation> <xs:documentation> Provides a standard wizard with name, short description, and an option to send the new page to its default location. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="no-homepage"> <xs:annotation> <xs:documentation> Does not render a "send to default location" field on the wizard. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="type"> <xs:annotation> <xs:documentation> A standard wizard for a type doctype. </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name="WizardCode" final="restriction"> <xs:restriction base="xs:string"> <xs:enumeration value="standard"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="WizardFieldTemplate" final="restriction"> <xs:restriction base="xs:string"> <xs:enumeration value="date"> <xs:annotation> <xs:documentation> A date field. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="name"> <xs:annotation> <xs:documentation> A field to specify the Name property. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="short-description"> <xs:annotation> <xs:documentation> A field to specify the Short Description property. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="target-location"> <xs:annotation> <xs:documentation> A field to specify the location to store the new document. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="target-location-compact"> <xs:annotation> <xs:documentation> A field to specify the location to store the new document in a compact, i.e. space saving, version. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="text-field"> <xs:annotation> <xs:documentation> A field to enter a value for a text property. </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="title-encoding"> <xs:annotation> <xs:documentation> A field to specify an encoding for the title. Requires the wizard parameter 'titleEncoding' to specify the encoding to be added in front of the title. </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:schema>