The Doctype XSD

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>