Modified: maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd
URL: 
http://svn.apache.org/viewvc/maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd?rev=1707854&r1=1707853&r2=1707854&view=diff
==============================================================================
--- maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd (original)
+++ maven/site/trunk/content/resources/xsd/maven-4.0.0.xsd Sat Oct 10 09:28:10 
2015
@@ -1,11 +1,17 @@
 <?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified" 
targetNamespace="http://maven.apache.org/POM/4.0.0"; 
xmlns="http://maven.apache.org/POM/4.0.0";>
+<!-- =================== DO NOT EDIT THIS FILE ====================         -->
+<!-- Generated by Modello 1.8.3,                                            -->
+<!-- any modifications will be overwritten.                                 -->
+<!-- ==============================================================         -->
+<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="Model">
     <xs:annotation>
       <xs:documentation source="version">3.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 descriptor.
-         The following table lists all of the possible child elements.
+        
+        The &lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; element is the 
root of the descriptor.
+        The following table lists all of the possible child elements.
+        
       </xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -13,51 +19,59 @@
     <xs:annotation>
       <xs:documentation source="version">3.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 descriptor.
-         The following table lists all of the possible child elements.
+        
+        The &lt;code&gt;&amp;lt;project&amp;gt;&lt;/code&gt; element is the 
root of the descriptor.
+        The following table lists all of the possible child elements.
+        
       </xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="parent" minOccurs="0" type="Parent">
+      <xs:element minOccurs="0" name="modelVersion" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The location of the parent project, if one exists. Values from the
-            parent project will be the default for this project if they are
-            left unspecified. The location is given as a group ID, artifact ID 
and version.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Declares to which version of 
project descriptor this POM conforms.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="modelVersion" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="parent" type="Parent">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Declares to which version of 
project descriptor this POM conforms.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The location of the parent 
project, if one exists. Values from the parent
+            project will be the default for this project if they are left 
unspecified. The location
+            is given as a group ID, artifact ID and version.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="groupId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="groupId" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
           <xs:documentation source="description">
+            
             A universally unique identifier for a project. It is normal to
-            use a fully-qualified package name to distinguish it from other 
projects with a similar name
-            (eg. &lt;code&gt;org.apache.maven&lt;/code&gt;).
+            use a fully-qualified package name to distinguish it from other
+            projects with a similar name (eg. 
&lt;code&gt;org.apache.maven&lt;/code&gt;).
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="artifactId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="artifactId" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            The identifier for this artifact that is unique within the group 
given by the group ID.
-            An artifact is something that is either produced or used by a 
project. Examples of artifacts produced by
-            Maven for a project include: JARs, source and binary 
distributions, and WARs.
-          </xs:documentation>
+          <xs:documentation source="description">The identifier for this 
artifact that is unique within the group given by the
+            group ID. An artifact is something that is either produced or used 
by a project.
+            Examples of artifacts produced by Maven for a project include: 
JARs, source and binary
+            distributions, and WARs.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="packaging" minOccurs="0" type="xs:string" 
default="jar">
+      <xs:element minOccurs="0" name="version" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The current version of the 
artifact produced by this project.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="packaging" type="xs:string" 
default="jar">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
+            
             The type of artifact this project produces, for example 
&lt;code&gt;jar&lt;/code&gt;
               &lt;code&gt;war&lt;/code&gt;
               &lt;code&gt;ear&lt;/code&gt;
@@ -65,93 +79,77 @@
             Plugins can create their own packaging, and
             therefore their own packaging types,
             so this list does not contain all possible types.
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="name" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="name" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            The full name of the project.
-          </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="version" minOccurs="0" type="xs:string">
-        <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The current version of the artifact produced by this project.
-          </xs:documentation>
+          <xs:documentation source="description">The full name of the 
project.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="description" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="description" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            A detailed description of the project, used by Maven whenever it 
needs to describe the project,
-            such as on the web site. While this element can be specified as 
CDATA to enable
-            the use of HTML tags within the description, it is discouraged to 
allow plain text representation.
-            If you need to modify the index page of the generated web site, 
you are able to specify your own instead
-            of adjusting this text.
-          </xs:documentation>
+          <xs:documentation source="description">A detailed description of the 
project, used by Maven whenever it needs to
+            describe the project, such as on the web site. While this element 
can be specified as
+            CDATA to enable the use of HTML tags within the description, it is 
discouraged to allow
+            plain text representation. If you need to modify the index page of 
the generated web
+            site, you are able to specify your own instead of adjusting this 
text.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="url" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
           <xs:documentation source="description">
-             The URL to the project&apos;s homepage.
-          </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="prerequisites" minOccurs="0" type="Prerequisites">
-        <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            Describes the prerequisites in the build environment for this 
project.
+            
+            The URL to the project&apos;s homepage.
+            &lt;br /&gt;&lt;b&gt;Default value is&lt;/b&gt;: parent value [+ 
path adjustment] + artifactId
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="issueManagement" minOccurs="0" type="IssueManagement">
-        <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The project&apos;s issue 
management system information.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="ciManagement" minOccurs="0" type="CiManagement">
+      <xs:element minOccurs="0" name="inceptionYear" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The project&apos;s continuous 
integration information.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The year of the 
project&apos;s inception, specified with 4 digits. This value is
+            used when generating copyright notices as well as being 
informational.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="inceptionYear" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="organization" type="Organization">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            The year of the project&apos;s inception, specified with 4 digits.
-            This value is used when generating copyright notices as well as 
being informational.
-          </xs:documentation>
+          <xs:documentation source="description">This element describes 
various attributes of the organization to which the
+            project belongs. These attributes are utilized when documentation 
is created (for
+            copyright notices and links).</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="mailingLists" minOccurs="0">
+      <xs:element minOccurs="0" name="licenses">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Contains information about a project&apos;s mailing lists.
+            
+            This element describes all of the licenses for this project.
+            Each license is described by a &lt;code&gt;license&lt;/code&gt; 
element, which
+            is then described by additional elements.
+            Projects should only list the license(s) that applies to the 
project
+            and not the licenses that apply to dependencies.
+            If multiple licenses are listed, it is assumed that the user can 
select
+            any of them, not that they must accept all.
+            
           </xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="mailingList" minOccurs="0" maxOccurs="unbounded" 
type="MailingList"/>
+            <xs:element name="license" minOccurs="0" maxOccurs="unbounded" 
type="License"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="developers" minOccurs="0">
+      <xs:element minOccurs="0" name="developers">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            Describes the committers of a project.
-          </xs:documentation>
+          <xs:documentation source="description">Describes the committers of a 
project.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
@@ -159,12 +157,10 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="contributors" minOccurs="0">
+      <xs:element minOccurs="0" name="contributors">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            Describes the contributors to a project that are not yet 
committers.
-          </xs:documentation>
+          <xs:documentation source="description">Describes the contributors to 
a project that are not yet committers.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
@@ -172,80 +168,115 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="licenses" minOccurs="0">
+      <xs:element minOccurs="0" name="mailingLists">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            This element describes all of the licenses for this project.  
-            Each license is described by a &lt;code&gt;license&lt;/code&gt; 
element, which 
-            is then described by additional elements.
-            Projects should only list the license(s) that applies to the 
project 
-            and not the licenses that apply to dependencies.
-            If multiple licenses are listed, it is assumed that the user can 
select any of them, not that they
-            must accept all.
-          </xs:documentation>
+          <xs:documentation source="description">Contains information about a 
project&apos;s mailing lists.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="license" minOccurs="0" maxOccurs="unbounded" 
type="License"/>
+            <xs:element name="mailingList" minOccurs="0" maxOccurs="unbounded" 
type="MailingList"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="scm" minOccurs="0" type="Scm">
+      <xs:element minOccurs="0" name="prerequisites" type="Prerequisites">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            Specification for the SCM used by the project, such as CVS, 
Subversion, etc.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Describes the prerequisites 
in the build environment for this project.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="organization" minOccurs="0" type="Organization">
+      <xs:element minOccurs="0" name="modules">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            This element describes various attributes of the organization to
-            which the project belongs.  These attributes are utilized when
-            documentation is created (for copyright notices and links).
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The modules (sometimes called 
subprojects) to build as a part of this
+            project. Each module listed is a relative path to the directory 
containing the module.
+            To be consistent with the way default urls are calculated from 
parent, it is recommended
+            to have module names match artifact ids.</xs:documentation>
         </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="module" minOccurs="0" maxOccurs="unbounded" 
type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
       </xs:element>
-      <xs:element name="build" minOccurs="0" type="Build">
+      <xs:element minOccurs="0" name="scm" type="Scm">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">Information required to build 
the project.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Specification for the SCM 
used by the project, such as CVS, Subversion, etc.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="issueManagement" type="IssueManagement">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The project&apos;s issue 
management system information.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="ciManagement" type="CiManagement">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The project&apos;s continuous 
integration information.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="distributionManagement" 
type="DistributionManagement">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Distribution information for 
a project that enables deployment of the site
+            and artifacts to remote web servers and repositories 
respectively.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="profiles" minOccurs="0">
+      <xs:element minOccurs="0" name="properties">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            A listing of project-local build profiles which will modify the 
build process when activated.
+            
+            Properties that can be used throughout the POM as a substitution, 
and
+            are used as filters in resources if enabled.
+            The format is 
&lt;code&gt;&amp;lt;name&amp;gt;value&amp;lt;/name&amp;gt;&lt;/code&gt;.
+            
           </xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="profile" minOccurs="0" maxOccurs="unbounded" 
type="Profile"/>
+            <xs:any minOccurs="0" maxOccurs="unbounded" 
processContents="skip"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="modules" minOccurs="0">
+      <xs:element minOccurs="0" name="dependencyManagement" 
type="DependencyManagement">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Default dependency 
information for projects that inherit from this one. The
+            dependencies in this section are not immediately resolved. 
Instead, when a POM derived
+            from this one declares a dependency described by a matching 
groupId and artifactId, the
+            version and other values from this section are used for that 
dependency if they were not
+            already specified.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="dependencies">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The modules (sometimes called subprojects) to build as a part of 
this project.
-            Each module listed is a relative path to the directory containing 
the module.
+            
+            This element describes all of the dependencies associated with a
+            project.
+            These dependencies are used to construct a classpath for your
+            project during the build process. They are automatically 
downloaded from the
+            repositories defined in this project.
+            See &lt;a 
href=&quot;http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html&quot;&gt;the
+            dependency mechanism&lt;/a&gt; for more information.
+            
           </xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="module" minOccurs="0" maxOccurs="unbounded" 
type="xs:string"/>
+            <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" 
type="Dependency"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="repositories" minOccurs="0">
+      <xs:element minOccurs="0" name="repositories">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">The lists of the remote 
repositories for discovering dependencies and
-          extensions.</xs:documentation>
+            extensions.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
@@ -253,11 +284,11 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="pluginRepositories" minOccurs="0">
+      <xs:element minOccurs="0" name="pluginRepositories">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The lists of the remote repositories for discovering plugins for 
builds and reports.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The lists of the remote 
repositories for discovering plugins for builds and
+            reports.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
@@ -265,698 +296,784 @@
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="dependencies" minOccurs="0">
+      <xs:element minOccurs="0" name="build" type="Build">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">Information required to build 
the project.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="reports">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-              This element describes all of the dependencies associated with a
-              project.
-              These dependencies are used to construct a classpath for your 
-              project during the build process. They are automatically 
downloaded from the
-              repositories defined in this project.
-              See &lt;a 
href=&quot;http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html&quot;&gt;the
-              dependency mechanism&lt;/a&gt; for more information.
+            
+            &lt;b&gt;Deprecated&lt;/b&gt;. Now ignored by Maven.
+            
           </xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" 
type="Dependency"/>
+            <xs:any minOccurs="0" maxOccurs="unbounded" 
processContents="skip"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="reports" minOccurs="0">
+      <xs:element minOccurs="0" name="reporting" type="Reporting">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            &lt;b&gt;Deprecated&lt;/b&gt;. Now ignored by Maven.
+            
+            This element includes the specification of report plugins to use
+            to generate the reports on the Maven-generated site.
+            These reports will be run when a user executes &lt;code&gt;mvn 
site&lt;/code&gt;.
+            All of the reports will be included in the navigation bar for 
browsing.
+            
           </xs:documentation>
         </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="profiles">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">A listing of project-local 
build profiles which will modify the build process
+            when activated.</xs:documentation>
+        </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:any minOccurs="0" maxOccurs="unbounded" 
processContents="skip"/>
+            <xs:element name="profile" minOccurs="0" maxOccurs="unbounded" 
type="Profile"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="reporting" minOccurs="0" type="Reporting">
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Parent">
+    <xs:annotation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;parent&amp;gt;&lt;/code&gt; element contains 
information required to locate the parent project from which
+        this project will inherit from.
+        &lt;strong&gt;Note:&lt;/strong&gt; The children of this element are 
not interpolated and must be given as literal values.
+        
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="groupId" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            This element includes the specification of report plugins to use 
to generate the reports on the
-            Maven-generated site.  These reports will be run when a user 
executes &lt;code&gt;mvn site&lt;/code&gt;.  All of the
-            reports will be included in the navigation bar for browsing.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The group id of the parent 
project to inherit from.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="dependencyManagement" minOccurs="0" 
type="DependencyManagement">
+      <xs:element minOccurs="0" name="artifactId" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            Default dependency information for projects that inherit from
-            this one. The dependencies in this section are not immediately 
resolved.
-            Instead, when a POM derived from this one declares a dependency 
-            described by a matching groupId and artifactId, the version and 
other values from this
-            section are used for that dependency if they were not already 
specified.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The artifact id of the parent 
project to inherit from.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="distributionManagement" minOccurs="0" 
type="DistributionManagement">
+      <xs:element minOccurs="0" name="version" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Distribution information for 
a project that enables deployment of the site
-          and artifacts to remote web servers and repositories 
respectively.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The version of the parent 
project to inherit.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="properties" minOccurs="0">
+      <xs:element minOccurs="0" name="relativePath" type="xs:string" 
default="../pom.xml">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-             Properties that can be used throughout the POM as a substitution, 
and are used as filters in resources
-             if enabled. The format is 
&lt;code&gt;&amp;lt;name&amp;gt;value&amp;lt;/name&amp;gt;&lt;/code&gt;.
+            
+            The relative path of the parent &lt;code&gt;pom.xml&lt;/code&gt; 
file within the check out.
+            If not specified, it defaults to 
&lt;code&gt;../pom.xml&lt;/code&gt;.
+            Maven looks for the parent POM first in this location on
+            the filesystem, then the local repository, and lastly in the 
remote repo.
+            &lt;code&gt;relativePath&lt;/code&gt; allows you to select a 
different location,
+            for example when your structure is flat, or deeper without an 
intermediate parent POM.
+            However, the group ID, artifact ID and version are still required,
+            and must match the file in the location given or it will revert to 
the repository for the POM.
+            This feature is only for enhancing the development in a local 
checkout of that project.
+            Set the value to an empty string in case you want to disable the 
feature and always resolve
+            the parent POM from the repositories.
+            
           </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="Contributor">
+  <xs:complexType name="Organization">
     <xs:annotation>
       <xs:documentation source="version">3.0.0+</xs:documentation>
-      <xs:documentation source="description">
-        Description of a person who has contributed to the project, but who 
does
-        not have commit privileges. Usually, these contributions come in the
-        form of patches submitted.
-      </xs:documentation>
+      <xs:documentation source="description">Specifies the organization that 
produces this project.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="name" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="name" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">The full name of the 
contributor.</xs:documentation>
+          <xs:documentation source="description">The full name of the 
organization.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="email" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
           <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">The email address of the 
contributor.</xs:documentation>
+          <xs:documentation source="description">The URL to the 
organization&apos;s home page.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="url" minOccurs="0" type="xs:string">
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="DistributionManagement">
+    <xs:annotation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">This elements describes all that 
pertains to distribution for a project. It is
+        primarily used for deployment of artifacts and the site produced by 
the build.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="repository" type="DeploymentRepository">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">The URL for the homepage of 
the contributor.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Information needed to deploy 
the artifacts generated by the project to a
+            remote repository.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="organization" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="snapshotRepository" 
type="DeploymentRepository">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">The organization to which the 
contributor belongs.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            Where to deploy snapshots of artifacts to. If not given, it 
defaults to the
+            &lt;code&gt;repository&lt;/code&gt; element.
+            
+          </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="organizationUrl" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="site" type="Site">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">The URL of the 
organization.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Information needed for 
deploying the web site of the project.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="roles" minOccurs="0">
+      <xs:element minOccurs="0" name="downloadUrl" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The roles the contributor plays in the project.  Each role is
-            described by a &lt;code&gt;role&lt;/code&gt; element, the body of 
which is a
-            role name. This can also be used to describe the contribution.
+            
+            The URL of the project&apos;s download page. If not given users 
will be
+            referred to the homepage given by &lt;code&gt;url&lt;/code&gt;.
+            This is given to assist in locating artifacts that are not in the 
repository due to
+            licensing restrictions.
+            
           </xs:documentation>
         </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="role" minOccurs="0" maxOccurs="unbounded" 
type="xs:string"/>
-          </xs:sequence>
-        </xs:complexType>
       </xs:element>
-      <xs:element name="timezone" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="relocation" type="Relocation">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            The timezone the contributor is in. This is a number in the range 
-11 to 12.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Relocation information of the 
artifact if it has been moved to a new group ID
+            and/or artifact ID.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="properties" minOccurs="0">
+      <xs:element minOccurs="0" name="status" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Properties about the contributor, such as an instant messenger 
handle.
+            
+            Gives the status of this artifact in the remote repository.
+            This must not be set in your local project, as it is updated by
+            tools placing it in the reposiory. Valid values are: 
&lt;code&gt;none&lt;/code&gt; (default),
+            &lt;code&gt;converted&lt;/code&gt; (repository manager converted 
this from an Maven 1 POM),
+            &lt;code&gt;partner&lt;/code&gt;
+            (directly synced from a partner Maven 2 repository), 
&lt;code&gt;deployed&lt;/code&gt; (was deployed from a Maven 2
+            instance), &lt;code&gt;verified&lt;/code&gt; (has been hand 
verified as correct and final).
+            
           </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="Profile">
+  <xs:complexType name="Relocation">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">
-        Modifications to the build process which is activated based on 
environmental parameters or command line arguments.
-      </xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Describes where an artifact has 
moved to. If any of the values are omitted, it is
+        assumed to be the same as it was before.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="id" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="groupId" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The identifier of this build 
profile. This used both for command line activation, and identifies
-            identical profiles to merge with during 
inheritance.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The group ID the artifact has 
moved to.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="activation" minOccurs="0" type="Activation">
+      <xs:element minOccurs="0" name="artifactId" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The conditional logic which 
will automatically
-            trigger the inclusion of this profile.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The new artifact ID of the 
artifact.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="build" minOccurs="0" type="BuildBase">
+      <xs:element minOccurs="0" name="version" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Information required to build 
the project.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The new version of the 
artifact.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="message" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">An additional message to show 
the user about the move, such as the reason.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="modules" minOccurs="0">
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Site">
+    <xs:annotation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Contains the information needed 
for deploying websites.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="id" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The modules (sometimes called subprojects) to build as a part of 
this project.
-            Each module listed is a relative path to the directory containing 
the module.
+            
+            A unique identifier for a deployment location. This is used to 
match the
+            site to configuration in the &lt;code&gt;settings.xml&lt;/code&gt; 
file, for example.
+            
           </xs:documentation>
         </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="module" minOccurs="0" maxOccurs="unbounded" 
type="xs:string"/>
-          </xs:sequence>
-        </xs:complexType>
       </xs:element>
-      <xs:element name="repositories" minOccurs="0">
+      <xs:element minOccurs="0" name="name" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The lists of the remote 
repositories for discovering dependencies and
-          extensions.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Human readable name of the 
deployment location.</xs:documentation>
         </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="repository" minOccurs="0" maxOccurs="unbounded" 
type="Repository"/>
-          </xs:sequence>
-        </xs:complexType>
       </xs:element>
-      <xs:element name="pluginRepositories" minOccurs="0">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The lists of the remote repositories for discovering plugins for 
builds and reports.</xs:documentation>
+            
+            The url of the location where website is deployed, in the form 
&lt;code&gt;protocol://hostname/path&lt;/code&gt;.
+            &lt;br /&gt;&lt;b&gt;Default value is&lt;/b&gt;: parent value [+ 
path adjustment] + artifactId
+            
+          </xs:documentation>
         </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="pluginRepository" minOccurs="0" 
maxOccurs="unbounded" type="Repository"/>
-          </xs:sequence>
-        </xs:complexType>
       </xs:element>
-      <xs:element name="dependencies" minOccurs="0">
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="DeploymentRepository">
+    <xs:annotation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Repository contains the 
information needed for deploying to the remote
+        repository.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="uniqueVersion" type="xs:boolean" 
default="true">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-              This element describes all of the dependencies associated with a
-              project.
-              These dependencies are used to construct a classpath for your 
-              project during the build process. They are automatically 
downloaded from the
-              repositories defined in this project.
-              See &lt;a 
href=&quot;http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html&quot;&gt;the
-              dependency mechanism&lt;/a&gt; for more information.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Whether to assign snapshots a 
unique version comprised of the timestamp and
+            build number, or to use the same version each 
time</xs:documentation>
         </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" 
type="Dependency"/>
-          </xs:sequence>
-        </xs:complexType>
       </xs:element>
-      <xs:element name="reports" minOccurs="0">
+      <xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            &lt;b&gt;Deprecated&lt;/b&gt;. Now ignored by Maven.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">How to handle downloading of 
releases from this repository.</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="reporting" minOccurs="0" type="Reporting">
+      <xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            This element includes the specification of report plugins to use 
to generate the reports on the
-            Maven-generated site.  These reports will be run when a user 
executes &lt;code&gt;mvn site&lt;/code&gt;.  All of the
-            reports will be included in the navigation bar for browsing.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">How to handle downloading of 
snapshots from this repository.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="dependencyManagement" minOccurs="0" 
type="DependencyManagement">
+      <xs:element minOccurs="0" name="id" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Default dependency information for projects that inherit from
-            this one. The dependencies in this section are not immediately 
resolved.
-            Instead, when a POM derived from this one declares a dependency 
-            described by a matching groupId and artifactId, the version and 
other values from this
-            section are used for that dependency if they were not already 
specified.
+            
+            A unique identifier for a repository. This is used to match the 
repository
+            to configuration in the &lt;code&gt;settings.xml&lt;/code&gt; 
file, for example. Furthermore, the identifier is
+            used during POM inheritance and profile injection to detect 
repositories that should be merged.
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="distributionManagement" minOccurs="0" 
type="DistributionManagement">
+      <xs:element minOccurs="0" name="name" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Distribution information for 
a project that enables deployment of the site
-          and artifacts to remote web servers and repositories 
respectively.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Human readable name of the 
repository.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="properties" minOccurs="0">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-             Properties that can be used throughout the POM as a substitution, 
and are used as filters in resources
-             if enabled. The format is 
&lt;code&gt;&amp;lt;name&amp;gt;value&amp;lt;/name&amp;gt;&lt;/code&gt;.
+            
+            The url of the repository, in the form 
&lt;code&gt;protocol://hostname/path&lt;/code&gt;.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="layout" type="xs:string" 
default="default">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The type of layout this repository uses for locating and storing 
artifacts -
+            can be &lt;code&gt;legacy&lt;/code&gt; or 
&lt;code&gt;default&lt;/code&gt;.
+            
           </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="Activation">
+  <xs:complexType name="RepositoryPolicy">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">
-        The conditions within the build runtime environment which will trigger
-        the automatic inclusion of the build profile.
-      </xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Download 
policy.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="activeByDefault" minOccurs="0" type="xs:boolean" 
default="false">
-        <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Flag specifying whether this 
profile is active by default.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="jdk" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="enabled" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Specifies that this profile will be activated when a matching JDK 
is detected. For example, &lt;code&gt;1.4&lt;/code&gt;
-            only activates on JDKs versioned 1.4, while 
&lt;code&gt;!1.4&lt;/code&gt; matches any JDK that is not version 1.4.
+            
+            Whether to use this repository for downloading this type of 
artifact. Note: While the type
+            of this field is &lt;code&gt;String&lt;/code&gt; for technical 
reasons, the semantic type is actually
+            &lt;code&gt;Boolean&lt;/code&gt;. Default value is 
&lt;code&gt;true&lt;/code&gt;.
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="os" minOccurs="0" type="ActivationOS">
+      <xs:element minOccurs="0" name="updatePolicy" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Specifies that this profile will be activated when matching 
operating system attributes are detected.
+            
+            The frequency for downloading updates - can be
+            &lt;code&gt;always,&lt;/code&gt;
+            &lt;code&gt;daily&lt;/code&gt;
+            (default),
+            &lt;code&gt;interval:XXX&lt;/code&gt;
+            (in minutes) or
+            &lt;code&gt;never&lt;/code&gt;
+            (only if it doesn&apos;t exist locally).
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="property" minOccurs="0" type="ActivationProperty">
+      <xs:element minOccurs="0" name="checksumPolicy" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Specifies that this profile will be activated when this system 
property is specified.
+            
+            What to do when verification of an artifact checksum fails. Valid 
values are
+            &lt;code&gt;ignore&lt;/code&gt;
+            ,
+            &lt;code&gt;fail&lt;/code&gt;
+            or
+            &lt;code&gt;warn&lt;/code&gt;
+            (the default).
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="file" minOccurs="0" type="ActivationFile">
-        <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-             Specifies that this profile will be activated based on existence 
of a file.
-             </xs:documentation>
-        </xs:annotation>
-      </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="ActivationFile">
+  <xs:complexType name="Prerequisites">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">
-        This is the file specification used to activate the profile. The 
missing value will be the location
-        of a file that needs to exist, and if it doesn&apos;t the profile will 
be activated.  On the other hand exists will test
-        for the existence of the file and if it is there the profile will be 
activated.
-      </xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Describes the prerequisites a 
project can have.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="missing" minOccurs="0" type="xs:string">
-        <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The name of the file that 
must be missing to activate the profile.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="exists" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="maven" type="xs:string" default="2.0">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The name of the file that 
must exist to activate the profile.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            For a plugin project, the minimum version of Maven required to use
+            the resulting plugin.&lt;br /&gt;
+            For specifying the minimum version of Maven required to build a
+            project, this element is &lt;b&gt;deprecated&lt;/b&gt;. Use the 
Maven Enforcer
+            Plugin&apos;s &lt;a 
href=&quot;https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html&quot;&gt;&lt;code&gt;requireMavenVersion&lt;/code&gt;&lt;/a&gt;
+            rule instead.
+            
+          </xs:documentation>
         </xs:annotation>
       </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="ActivationProperty">
+  <xs:complexType name="Contributor">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">
-        This is the property specification used to activate a profile. If the 
value field is empty,
-        then the existence of the named property will activate the profile, 
otherwise it does a case-sensitive
-        match against the property value as well.
-      </xs:documentation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="description">Description of a person who has 
contributed to the project, but who does not have
+        commit privileges. Usually, these contributions come in the form of 
patches submitted.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="name" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="name" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The name of the property to 
be used to activate a profile.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The full name of the 
contributor.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="value" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="email" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The value of the property 
required to activate a profile.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The email address of the 
contributor.</xs:documentation>
         </xs:annotation>
       </xs:element>
-    </xs:all>
-  </xs:complexType>
-  <xs:complexType name="ActivationOS">
-    <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">
-        This is an activator which will detect an operating system&apos;s 
attributes in order to activate
-        its profile.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:all>
-      <xs:element name="name" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The name of the operating 
system to be used to activate the profile. This must be an exact match
-          of the &lt;code&gt;${os.name}&lt;/code&gt; Java property, such as 
&lt;code&gt;Windows XP&lt;/code&gt;.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The URL for the homepage of 
the contributor.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="family" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="organization" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The general family of the OS to be used to activate the profile, 
such as &lt;code&gt;windows&lt;/code&gt; or 
&lt;code&gt;unix&lt;/code&gt;.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The organization to which the 
contributor belongs.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="arch" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="organizationUrl" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The architecture of the 
operating system to be used to activate the profile.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The URL of the 
organization.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="version" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="roles">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The version of the operating 
system to be used to activate the profile.</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The roles the contributor plays in the project. Each role is 
described by a
+            &lt;code&gt;role&lt;/code&gt; element, the body of which is a role 
name. This can also be used to
+            describe the contribution.
+            
+          </xs:documentation>
         </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="role" minOccurs="0" maxOccurs="unbounded" 
type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
       </xs:element>
-    </xs:all>
-  </xs:complexType>
-  <xs:complexType name="DependencyManagement">
-    <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">
-        Section for management of default dependency information for use in a 
group of POMs.
-      </xs:documentation>
-    </xs:annotation>
-    <xs:all>
-      <xs:element name="dependencies" minOccurs="0">
+      <xs:element minOccurs="0" name="timezone" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The dependencies specified here are not used until they
-            are referenced in a POM within the group. This allows the
-            specification of a &quot;standard&quot; version for a particular
-            dependency.
+            
+              The timezone the contributor is in. Typically, this is a number 
in the range
+              &lt;a 
href=&quot;http://en.wikipedia.org/wiki/UTC%E2%88%9212:00&quot;&gt;-12&lt;/a&gt;
 to &lt;a 
href=&quot;http://en.wikipedia.org/wiki/UTC%2B14:00&quot;&gt;+14&lt;/a&gt;
+              or a valid time zone id like &quot;America/Montreal&quot; 
(UTC-05:00) or &quot;Europe/Paris&quot; (UTC+01:00).
+            
           </xs:documentation>
         </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="properties">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">Properties about the 
contributor, such as an instant messenger handle.</xs:documentation>
+        </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded" 
type="Dependency"/>
+            <xs:any minOccurs="0" maxOccurs="unbounded" 
processContents="skip"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="Dependency">
+  <xs:complexType name="Scm">
     <xs:annotation>
-      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;scm&amp;gt;&lt;/code&gt; element contains 
informations required to the SCM
+        (Source Control Management) of the project.
+        
+      </xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="groupId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="connection" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The project group that produced the dependency, e.g.
-            &lt;code&gt;org.apache.maven&lt;/code&gt;.
+            
+            The source control management system URL
+            that describes the repository and how to connect to the
+            repository. For more information, see the
+            &lt;a 
href=&quot;http://maven.apache.org/scm/scm-url-format.html&quot;&gt;URL 
format&lt;/a&gt;
+            and &lt;a 
href=&quot;http://maven.apache.org/scm/scms-overview.html&quot;&gt;list of 
supported SCMs&lt;/a&gt;.
+            This connection is read-only.
+            &lt;br /&gt;&lt;b&gt;Default value is&lt;/b&gt;: parent value [+ 
path adjustment] + artifactId
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="artifactId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="developerConnection" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The unique id for an artifact produced by the project group, e.g.
-            &lt;code&gt;maven-artifact&lt;/code&gt;.
+            
+            Just like &lt;code&gt;connection&lt;/code&gt;, but for developers, 
i.e. this scm connection
+            will not be read only.
+            &lt;br /&gt;&lt;b&gt;Default value is&lt;/b&gt;: parent value [+ 
path adjustment] + artifactId
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="version" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="tag" type="xs:string" default="HEAD">
         <xs:annotation>
-          <xs:documentation source="version">3.0.0+</xs:documentation>
-          <xs:documentation source="description">
-            The version of the dependency, e.g. 
&lt;code&gt;3.2.1&lt;/code&gt;. In Maven 2, this can also be
-            specified as a range of versions.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The tag of current code. By 
default, it&apos;s set to HEAD during development.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="type" minOccurs="0" type="xs:string" default="jar">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            The type of dependency. This defaults to 
&lt;code&gt;jar&lt;/code&gt;. While it usually represents the extension on
-            the filename of the dependency, that is not always the case. A 
type can be mapped to a different
-            extension and a classifier.
-            The type often correspongs to the packaging used, though this is 
also not always the case.
-            Some examples are &lt;code&gt;jar&lt;/code&gt;, 
&lt;code&gt;war&lt;/code&gt;, &lt;code&gt;ejb-client&lt;/code&gt; and 
&lt;code&gt;test-jar&lt;/code&gt;.
-            New types can be defined by plugins that set
-            &lt;code&gt;extensions&lt;/code&gt; to 
&lt;code&gt;true&lt;/code&gt;, so this is not a complete list.
+            
+            The URL to the project&apos;s browsable SCM repository, such as 
ViewVC or Fisheye.
+            &lt;br /&gt;&lt;b&gt;Default value is&lt;/b&gt;: parent value [+ 
path adjustment] + artifactId
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="classifier" minOccurs="0" type="xs:string">
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">A repository contains the 
information needed for establishing connections with
+        remote repository.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element minOccurs="0" name="releases" type="RepositoryPolicy">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The classifier of the dependency. This allows distinguishing two 
artifacts that belong to the same POM but
-            were built differently, and is appended to the filename after the 
version. For example,
-            &lt;code&gt;jdk14&lt;/code&gt; and &lt;code&gt;jdk15&lt;/code&gt;.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">How to handle downloading of 
releases from this repository.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="scope" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            The scope of the dependency - &lt;code&gt;compile&lt;/code&gt;, 
&lt;code&gt;runtime&lt;/code&gt;, &lt;code&gt;test&lt;/code&gt;,
-            &lt;code&gt;system&lt;/code&gt;, and 
&lt;code&gt;provided&lt;/code&gt;. Used to
-            calculate the various classpaths used for compilation, testing, 
and so on. It also assists in determining
-            which artifacts to include in a distribution of this project. For 
more information, see
-            &lt;a 
href=&quot;http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html&quot;&gt;the
-            dependency mechanism&lt;/a&gt;.
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">How to handle downloading of 
snapshots from this repository.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="systemPath" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="id" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            FOR SYSTEM SCOPE ONLY. Note that use of this property is 
&lt;b&gt;discouraged&lt;/b&gt; and may be replaced in later
-            versions. This specifies the path on the filesystem for this 
dependency.
-            Requires an absolute path for the value, not relative.
-            Use a property that gives the machine specific absolute path,
-            e.g. &lt;code&gt;${java.home}&lt;/code&gt;.
+            
+            A unique identifier for a repository. This is used to match the 
repository
+            to configuration in the &lt;code&gt;settings.xml&lt;/code&gt; 
file, for example. Furthermore, the identifier is
+            used during POM inheritance and profile injection to detect 
repositories that should be merged.
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="exclusions" minOccurs="0">
+      <xs:element minOccurs="0" name="name" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Human readable name of the 
repository.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Lists a set of artifacts that should be excluded from this 
dependency&apos;s artifact list when it comes to
-            calculating transitive dependencies.
+            
+            The url of the repository, in the form 
&lt;code&gt;protocol://hostname/path&lt;/code&gt;.
+            
           </xs:documentation>
         </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="exclusion" minOccurs="0" maxOccurs="unbounded" 
type="Exclusion"/>
-          </xs:sequence>
-        </xs:complexType>
       </xs:element>
-      <xs:element name="optional" minOccurs="0" type="xs:boolean" 
default="false">
+      <xs:element minOccurs="0" name="layout" type="xs:string" 
default="default">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
           <xs:documentation source="description">
-            Indicates the dependency is optional for use of this library. 
While the version of the dependency will be
-            taken into account for dependency calculation if the library is 
used elsewhere, it will not be passed on
-            transitively.
+            
+            The type of layout this repository uses for locating and storing 
artifacts -
+            can be &lt;code&gt;legacy&lt;/code&gt; or 
&lt;code&gt;default&lt;/code&gt;.
+            
           </xs:documentation>
         </xs:annotation>
       </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="Exclusion">
+  <xs:complexType name="IssueManagement">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Information about the issue 
tracking (or bug tracking) system used to manage this
+        project.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="artifactId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="system" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The artifact ID of the 
project to exclude.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The name of the issue 
management system, e.g. Bugzilla</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="groupId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The group ID of the project 
to exclude.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">URL for the issue management 
system used by the project.</xs:documentation>
         </xs:annotation>
       </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="Reporting">
+  <xs:complexType name="CiManagement">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">Section for management of reports 
and their configuration.</xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        
+        The &lt;code&gt;&amp;lt;CiManagement&amp;gt;&lt;/code&gt; element 
contains informations required to the
+        continuous integration system of the project.
+        
+      </xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="excludeDefaults" minOccurs="0" type="xs:boolean" 
default="false">
+      <xs:element minOccurs="0" name="system" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">If true, then the default 
reports are not included in the site generation. This includes the
-            reports in the &quot;Project Info&quot; menu.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            The name of the continuous integration system, e.g. 
&lt;code&gt;continuum&lt;/code&gt;.
+            
+          </xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="outputDirectory" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="url" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">
-            Where to store all of the generated reports. The default is
-            &lt;code&gt;${project.build.directory}/site&lt;/code&gt;
-            .
-          </xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">URL for the continuous 
integration system used by the project if it has a web
+            interface.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="plugins" minOccurs="0">
+      <xs:element minOccurs="0" name="notifiers">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The reporting plugins to use 
and their configuration.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Configuration for notifying 
developers/users when a build is unsuccessful,
+            including user information and notification 
mode.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="plugin" minOccurs="0" maxOccurs="unbounded" 
type="ReportPlugin"/>
+            <xs:element name="notifier" minOccurs="0" maxOccurs="unbounded" 
type="Notifier"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="ReportPlugin">
+  <xs:complexType name="Notifier">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Configures one method for 
notifying users/developers when a build breaks.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="groupId" minOccurs="0" type="xs:string" 
default="org.apache.maven.plugins">
+      <xs:element minOccurs="0" name="type" type="xs:string" default="mail">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The group ID of the reporting 
plugin in the repository.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The mechanism used to deliver 
notifications.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="artifactId" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="sendOnError" type="xs:boolean" 
default="true">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The artifact ID of the 
reporting plugin in the repository.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Whether to send notifications 
on error.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="version" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="sendOnFailure" type="xs:boolean" 
default="true">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The version of the reporting 
plugin to be used.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Whether to send notifications 
on failure.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="inherited" minOccurs="0" type="xs:string">
+      <xs:element minOccurs="0" name="sendOnSuccess" type="xs:boolean" 
default="true">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Whether the configuration in 
this plugin should be made available to projects that
-            inherit from this one.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Whether to send notifications 
on success.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="configuration" minOccurs="0">
+      <xs:element minOccurs="0" name="sendOnWarning" type="xs:boolean" 
default="true">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">The configuration of the 
reporting plugin.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Whether to send notifications 
on warning.</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="reportSets" minOccurs="0">
+      <xs:element minOccurs="0" name="address" type="xs:string">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Multiple specifications of a 
set of reports, each having (possibly) different
-            configuration. This is the reporting parallel to an 
&lt;code&gt;execution&lt;/code&gt; in the build.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            
+            &lt;b&gt;Deprecated&lt;/b&gt;. Where to send the notification to - 
eg email address.
+            
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="configuration">
+        <xs:annotation>
+          <xs:documentation source="version">0.0.0+</xs:documentation>
+          <xs:documentation source="description">Extended configuration 
specific to this notifier goes here.</xs:documentation>
         </xs:annotation>
         <xs:complexType>
           <xs:sequence>
-            <xs:element name="reportSet" minOccurs="0" maxOccurs="unbounded" 
type="ReportSet"/>
+            <xs:any minOccurs="0" maxOccurs="unbounded" 
processContents="skip"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
     </xs:all>
   </xs:complexType>
-  <xs:complexType name="ReportSet">
+  <xs:complexType name="Profile">
     <xs:annotation>
-      <xs:documentation source="version">4.0.0</xs:documentation>
-      <xs:documentation source="description">Represents a set of reports and 
configuration to be used to generate them.</xs:documentation>
+      <xs:documentation source="version">4.0.0+</xs:documentation>
+      <xs:documentation source="description">Modifications to the build 
process which is activated based on environmental
+        parameters or command line arguments.</xs:documentation>
     </xs:annotation>
     <xs:all>
-      <xs:element name="id" minOccurs="0" type="xs:string" default="default">
+      <xs:element minOccurs="0" name="id" type="xs:string" default="default">
         <xs:annotation>
-          <xs:documentation source="version">0.0.0+</xs:documentation>
-          <xs:documentation source="description">The unique id for this report 
set, to be used during POM inheritance.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The identifier of this build 
profile. This is used for command line
+            activation, and identifies profiles to be merged.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="activation" type="Activation">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The conditional logic which 
will automatically trigger the inclusion of this
+            profile.</xs:documentation>
         </xs:annotation>
       </xs:element>
-      <xs:element name="configuration" minOccurs="0">
+      <xs:element minOccurs="0" name="build" type="BuildBase">
         <xs:annotation>
-          <xs:documentation source="version">4.0.0</xs:documentation>
-          <xs:documentation source="description">Configuration of the report 
to be used when generating this set.</xs:documentation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">Information required to build 
the project.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element minOccurs="0" name="modules">
+        <xs:annotation>
+          <xs:documentation source="version">4.0.0+</xs:documentation>
+          <xs:documentation source="description">The modules (sometimes called 
subprojects) to build as a part of this
+            project. Each module listed is a relative path to the directory 
containing the module.
+            To be consistent with the way default urls are calculated from 
parent, it is recommended
+            to have module names match artifact ids.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="module" minOccurs="0" maxOccurs="unbounded" 
type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>

[... 2095 lines stripped ...]


Reply via email to