<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/POM/4.0.0" targetNamespace="http://maven.apache.org/POM/4.0.0">
  <xs:element name="project" type="DecorationModel">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
         The &lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; element is the root of the site decoration descriptor.
         The following table lists all of the possible child elements.
      </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="DecorationModel">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
         The &lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; element is the root of the site decoration descriptor.
         The following table lists all of the possible child elements.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The full name of the project.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="bannerLeft" minOccurs="0" type="Banner">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Banner logo on the masthead of the site to the left.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="bannerRight" minOccurs="0" type="Banner">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Banner logo on the masthead of the site to the right.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="publishDate" minOccurs="0" type="PublishDate">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Modify the date published display properties.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="version" minOccurs="0" type="Version">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Modify the version published display properties.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="poweredBy" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Powered by logos list.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="poweredBy" minOccurs="0" maxOccurs="unbounded" type="Logo"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="skin" minOccurs="0" type="Skin">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The artifact containing the skin for the site.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="body" minOccurs="0" type="Body">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The main site content decoration.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="custom" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Custom configuration for use with customised Velocity templates.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Version">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        Modify display properties for version published.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="position" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Where to place the version published (left, right, navigation-top, navigation-bottom, bottom).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Banner">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        Banner logo on the masthead of the site.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The name of the banner.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="src" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The location of an image for the banner.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="alt" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The alt description for the banner image.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="href" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The href of a link to be used for the banner image.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Body">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        The main content decoration.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="head" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Additional content (like Javascript) to include in the HEAD block of the generated pages.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="links" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            A list of links to display in the navigation.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="link" minOccurs="0" maxOccurs="unbounded" type="LinkItem"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="breadcrumbs" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            A list of breadcrumbs to display in the navigation.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="breadcrumb" minOccurs="0" maxOccurs="unbounded" type="LinkItem"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="menus" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            A list of menus to include in the navigation.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="menu" minOccurs="0" maxOccurs="unbounded" type="Menu"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="LinkItem">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        A link in the navigation.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The name to display for the link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="href" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The href to use for the link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Menu">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        A menu in the navigation.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The name to display for the menu.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="inherit" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The way in which the menu is inherited.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="inheritAsRef" minOccurs="0" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            If this is a reference, setting &lt;inheritAsRef&gt;true&lt;/inheritAsRef&gt; means that it will be populated
            in the project, whereas if it is false, it is populated in the parent and then inherited.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ref" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            A reference to a pre-defined menu, such as a &lt;code&gt;reports&lt;/code&gt;, &lt;code&gt;modules&lt;/code&gt;
            or &lt;code&gt;parentProject&lt;/code&gt;.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="img" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The location of an image.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="items" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            A list of menu item.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="MenuItem"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="MenuItem">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        A menu item.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="description" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
           A description of the menu item. This is used on any summary pages for a menu.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="collapse" minOccurs="0" type="xs:boolean" default="false">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
           Whether to collapse children elements of an item menu (by default).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ref" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            A reference to a pre-defined menu item, such as a report (specified by the report goal
            name). Any elements explicitly given override those from the pre-defined reference.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="items" minOccurs="0">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">Menu item.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="MenuItem"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The name to display for the link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="href" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The href to use for the link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Skin">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        An skin artifact declaratio.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="groupId" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The skin group ID.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="artifactId" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The skin artifact ID.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="version" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The skin version.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Logo">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        Power by logo on the navigation.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="img" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The href of a link to be used for the power by image.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The name to display for the link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="href" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            The href to use for the link.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="PublishDate">
    <xs:annotation>
      <xs:documentation source="version">1.0.0</xs:documentation>
      <xs:documentation source="description">
        Modify display properties for date published.
      </xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element name="position" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Where to place the date published (left, right, navigation-top, navigation-bottom, bottom).
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="format" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0</xs:documentation>
          <xs:documentation source="description">
            Date format to use. The default is MM/dd/yyyy.
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
</xs:schema>