You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/06/08 07:25:12 UTC

svn commit: r189527 [1/2] - /maven/maven-1/core/trunk/src/xsd/maven-v3_0_0.xsd /maven/maven-1/core/trunk/src/xsd/maven-v4_0_0.xsd

Author: brett
Date: Tue Jun  7 22:25:11 2005
New Revision: 189527

URL: http://svn.apache.org/viewcvs?rev=189527&view=rev
Log:
update XSDs from latest model

Modified:
    maven/maven-1/core/trunk/src/xsd/maven-v3_0_0.xsd
    maven/maven-1/core/trunk/src/xsd/maven-v4_0_0.xsd

Modified: maven/maven-1/core/trunk/src/xsd/maven-v3_0_0.xsd
URL: http://svn.apache.org/viewcvs/maven/maven-1/core/trunk/src/xsd/maven-v3_0_0.xsd?rev=189527&r1=189526&r2=189527&view=diff
==============================================================================
--- maven/maven-1/core/trunk/src/xsd/maven-v3_0_0.xsd (original)
+++ maven/maven-1/core/trunk/src/xsd/maven-v3_0_0.xsd Tue Jun  7 22:25:11 2005
@@ -1,306 +1,1340 @@
 <?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">
-  <xs:element name="project">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="extend" type="xs:string" minOccurs="0"/>
-        <xs:element name="pomVersion" type="xs:string" minOccurs="0"/>
-        <xs:element name="id" type="xs:string" minOccurs="0"/>
-        <xs:element name="groupId" type="xs:string" minOccurs="0"/>
-        <xs:element name="artifactId" type="xs:string" minOccurs="0"/>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="currentVersion" type="xs:string" minOccurs="0"/>
-        <xs:element name="shortDescription" type="xs:string" minOccurs="0"/>
-        <xs:element name="description" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-        <xs:element name="logo" type="xs:string" minOccurs="0"/>
-        <xs:element name="issueTrackingUrl" type="xs:string" minOccurs="0"/>
-        <xs:element name="inceptionYear" type="xs:string" minOccurs="0"/>
-        <xs:element name="gumpRepositoryId" type="xs:string" minOccurs="0"/>
-        <xs:element name="siteAddress" type="xs:string" minOccurs="0"/>
-        <xs:element name="siteDirectory" type="xs:string" minOccurs="0"/>
-        <xs:element name="distributionSite" type="xs:string" minOccurs="0"/>
-        <xs:element name="distributionDirectory" type="xs:string" minOccurs="0"/>
-        <xs:element name="mailingLists" minOccurs="0"/>
-        <xs:element name="developers" minOccurs="0"/>
-        <xs:element name="contributors" minOccurs="0"/>
-        <xs:element name="dependencies" minOccurs="0"/>
-        <xs:element name="licenses" minOccurs="0"/>
-        <xs:element name="versions" minOccurs="0"/>
-        <xs:element name="branches" minOccurs="0"/>
-        <xs:element name="packageGroups" minOccurs="0"/>
-        <xs:element name="reports" minOccurs="0"/>
-        <xs:element name="repository" minOccurs="0"/>
-        <xs:element name="build" minOccurs="0"/>
-        <xs:element name="organization" minOccurs="0"/>
-        <xs:element name="properties" minOccurs="0"/>
-        <xs:element name="packageName" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="mailingList">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="subscribe" type="xs:string" minOccurs="0"/>
-        <xs:element name="unsubscribe" type="xs:string" minOccurs="0"/>
-        <xs:element name="post" type="xs:string" minOccurs="0"/>
-        <xs:element name="archive" type="xs:string" minOccurs="0"/>
-        <xs:element name="otherArchives" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="otherArchives">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="otherArchive" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="mailingLists">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="mailingList" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="developer">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="id" type="xs:string" minOccurs="0"/>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="email" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-        <xs:element name="organization" type="xs:string" minOccurs="0"/>
-        <xs:element name="organizationUrl" type="xs:string" minOccurs="0"/>
-        <xs:element name="roles" minOccurs="0"/>
-        <xs:element name="timezone" type="xs:string" minOccurs="0"/>
-        <xs:element name="properties" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="roles">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="role" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="properties">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="developers">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="developer" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="contributor">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="email" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-        <xs:element name="organization" type="xs:string" minOccurs="0"/>
-        <xs:element name="organizationUrl" type="xs:string" minOccurs="0"/>
-        <xs:element name="roles" minOccurs="0"/>
-        <xs:element name="timezone" type="xs:string" minOccurs="0"/>
-        <xs:element name="properties" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="contributors">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="dependency">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="id" type="xs:string" minOccurs="0"/>
-        <xs:element name="groupId" type="xs:string" minOccurs="0"/>
-        <xs:element name="artifactId" type="xs:string" minOccurs="0"/>
-        <xs:element name="version" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-        <xs:element name="jar" type="xs:string" minOccurs="0"/>
-        <xs:element name="type" type="xs:string" default="jar" minOccurs="0"/>
-        <xs:element name="properties" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="dependencies">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="dependency" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="license">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-        <xs:element name="distribution" type="xs:string" minOccurs="0"/>
-        <xs:element name="comments" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="licenses">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="license" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="version">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="tag" type="xs:string" minOccurs="0"/>
-        <xs:element name="id" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="versions">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="version" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="branch">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="tag" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="branches">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="branch" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="packageGroup">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="title" type="xs:string" minOccurs="0"/>
-        <xs:element name="packages" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="packageGroups">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="packageGroup" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="reports">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="report" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="repository">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="connection" type="xs:string" minOccurs="0"/>
-        <xs:element name="developerConnection" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="build">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="defaultGoal" type="xs:string" minOccurs="0"/>
-        <xs:element name="nagEmailAddress" type="xs:string" minOccurs="0"/>
-        <xs:element name="sourceDirectory" type="xs:string" minOccurs="0"/>
-        <xs:element name="unitTestSourceDirectory" type="xs:string" minOccurs="0"/>
-        <xs:element name="aspectSourceDirectory" type="xs:string" minOccurs="0"/>
-        <xs:element name="integrationUnitTestSourceDirectory" type="xs:string" minOccurs="0"/>
-        <xs:element name="sourceModifications" minOccurs="0"/>
-        <xs:element name="unitTest" minOccurs="0"/>
-        <xs:element name="resources" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="sourceModification">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="className" type="xs:string" minOccurs="0"/>
-        <xs:element name="property" type="xs:string" minOccurs="0"/>
-        <xs:element name="directory" type="xs:string" minOccurs="0"/>
-        <xs:element name="includes" minOccurs="0"/>
-        <xs:element name="excludes" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="includes">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="include" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="excludes">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="sourceModifications">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="sourceModification" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="unitTest">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="resources" minOccurs="0"/>
-        <xs:element name="includes" minOccurs="0"/>
-        <xs:element name="excludes" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="resource">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="targetPath" type="xs:string" minOccurs="0"/>
-        <xs:element name="filtering" type="xs:boolean" default="false" minOccurs="0"/>
-        <xs:element name="directory" type="xs:string" minOccurs="0"/>
-        <xs:element name="includes" minOccurs="0"/>
-        <xs:element name="excludes" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="resources">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="resource" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="organization">
-    <xs:complexType>
-      <xs:all>
-        <xs:element name="name" type="xs:string" minOccurs="0"/>
-        <xs:element name="url" type="xs:string" minOccurs="0"/>
-        <xs:element name="logo" type="xs:string" minOccurs="0"/>
-      </xs:all>
-    </xs:complexType>
-  </xs:element>
-</xs:schema>
\ No newline at end of file
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://maven.apache.org/POM/3.0.0" xmlns="http://maven.apache.org/POM/3.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 specifies various attributes 
+         about a project. This is the root element of the project descriptor. 
+         The following table lists all of the possible child elements. Child 
+         elements with children are then documented further in subsequent 
+         sections.
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:complexType name="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 specifies various attributes 
+         about a project. This is the root element of the project descriptor. 
+         The following table lists all of the possible child elements. Child 
+         elements with children are then documented further in subsequent 
+         sections.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="extend" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.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 path may be absolute, or relative to the 
+            current project.xml file.
+            
+            &lt;div class="source"&gt;&lt;pre&gt;&amp;lt;extend&amp;gt;${basedir}/../project.xml&amp;lt;/extend&amp;gt;&lt;/pre&gt;&lt;/div&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="pomVersion" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The current version of the Maven project descriptor. This version 
+            number enables Maven to automatically update an out-of-date project 
+            descriptor when a new version is available. This version number 
+            should not be changed after the descriptor has been created. Maven 
+            will update it automatically.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="id" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The short name of the project.  This value is used when naming 
+            &lt;a href="/plugins/java/index.html"&gt;jars&lt;/a&gt; and 
+            &lt;a href="/plugins/dist/index.html"&gt;distribution files&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="groupId" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The short name of the project group. This value is used to group
+            all jars for a project in one directory. For more info look at the
+            &lt;a href="/user-guide.html#Naming%20Conventions"&gt;user guide&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="artifactId" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The short name of the project.  This value is used in conjunction
+            with &lt;code&gt;groupId&lt;/code&gt;
+            when naming &lt;a href="/plugins/java/index.html"&gt;jars&lt;/a&gt; and 
+            &lt;a href="/plugins/dist/index.html"&gt;distribution files&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="name" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The full name of the project.  This value is used when
+            generating &lt;a href="/plugins/javadoc/index.html"&gt;JavaDoc&lt;/a&gt;
+            titles.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="currentVersion" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The current version of the project.  This value is used when
+            naming &lt;a href="/plugins/java/index.html"&gt;jars&lt;/a&gt; and 
+            &lt;a href="/plugins/dist/index.html"&gt;distribution files&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="shortDescription" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+             A short description of the project. The short description should be 
+             limited to a single line.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="description" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Optional. A detailed description of the project. 
+            This description is used as the default to generate the
+            &lt;a href="/plugins/site/index.html"&gt;Mailing Lists&lt;/a&gt; of the project's 
+            web site, and is shown when &lt;code&gt;maven --usage&lt;/code&gt; is called on 
+            the project. While this element can be specified as CDATA to enable 
+            the use of HTML tags within the description, you are encouraged to 
+            provide an alternative home page using &lt;code&gt;xdocs/index.xml&lt;/code&gt; 
+            if this is required.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+             The URL to the project's homepage.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="logo" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The URL to the project's logo image.  This can be an URL relative
+            to the base directory of the generated web site,
+            (e.g., &lt;code&gt;/images/project-logo.png&lt;/code&gt;) or an absolute URL
+            (e.g., &lt;code&gt;http://my.corp/project-logo.png&lt;/code&gt;).  This is used
+            when generating the project documentation.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="issueTrackingUrl" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+             Optional. The URL to the project's issue tracking system.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="inceptionYear" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The year of the project's inception specified with 4 digits.
+            This value is used when generating 
+            &lt;a href="/plugins/javadoc/index.html"&gt;JavaDoc&lt;/a&gt; copyright notices.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="gumpRepositoryId" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. This is the Id of the Gump repository that this project is
+            part of (assuming it participates in the Gump integration
+            effort).
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="siteAddress" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. The hostname of the web server that hosts the project's web
+            site.  This is used when the web site is 
+            &lt;a href="/plugins/site/index.html"&gt;deployed&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="siteDirectory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. The directory on the web server where the public web site
+            for this project resides.  This is used when the web site is 
+            &lt;a href="/plugins/site/index.html"&gt;deployed&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="distributionSite" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. The server server where the final
+            distributions will be published.  This is used when the
+            distributions are
+            &lt;a href="/plugins/dist/index.html"&gt;deployed&lt;/a&gt;.
+            &lt;p&gt;
+              If this isn't defined, the central repository is used instead as
+              determined by &lt;code&gt;maven.repo.central&lt;/code&gt; and 
+              &lt;code&gt;maven.repo.central.directory&lt;/code&gt;
+            &lt;/p&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="distributionDirectory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. The directory on the web server where the final
+            distributions will be published.  This is used when the
+            distributions are
+            &lt;a href="/plugins/dist/index.html"&gt;deployed&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="mailingLists" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Contains information about a project's mailing lists.  This
+            is used to generate the &lt;a href="/plugins/site/index.html"&gt;front
+            page&lt;/a&gt; of the site's web site.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="mailingList" minOccurs="0" maxOccurs="unbounded" type="MailingList"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="developers" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Describes the committers to a project.  This is used to
+            generate the &lt;a href="/plugins/site/index.html"&gt;Project Team&lt;/a&gt;
+            page of the project's web site.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="developer" minOccurs="0" maxOccurs="unbounded" type="Developer"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="contributors" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Describes the contributors to a project.  This is used to generate
+            the &lt;a href="/plugins/site/index.html"&gt;Project Team&lt;/a&gt; page of
+            the project's web site.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded" type="Contributor"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="licenses" minOccurs="0">
+        <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 (described below).  The 
+            auto-generated site documentation references this information.  
+            Projects should only list the license(s) that applies to the project 
+            and not the licenses that apply to dependencies.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="license" minOccurs="0" maxOccurs="unbounded" type="License"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="versions" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. Contains information on previous versions of the
+            project. This information is used when invoking the 
+            &lt;a href="/plugins/dist/index.html"&gt;&lt;code&gt;maven:dist&lt;/code&gt;&lt;/a&gt;
+            target.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="version" minOccurs="0" maxOccurs="unbounded" type="Version"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="branches" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Optional. Contains information on branches of the
+            project. This information is used when invoking the 
+            &lt;a href="/plugins/dist/index.html"&gt;&lt;code&gt;maven:dist&lt;/code&gt;&lt;/a&gt;
+            target.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="branch" minOccurs="0" maxOccurs="unbounded" type="Branch"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="packageGroups" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">Package groups required for complete javadocs.</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="packageGroup" minOccurs="0" maxOccurs="unbounded" type="PackageGroup"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="reports" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            This element includes the specification of reports to be
+            included in a Maven-generated site.  These reports will be run
+            when a user executes &lt;code&gt;maven site&lt;/code&gt;.  All of the
+            reports will be included in the navigation bar for browsing in
+            the order they are specified.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="report" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="repository" minOccurs="0" type="Repository">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">Specification for the SCM used by the project.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="organization" minOccurs="0" type="Organization">
+        <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:annotation>
+      </xs:element>
+      <xs:element name="properties" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+             Project properties that will be used by various plugins
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="packageName" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The Java package name of the project.  This value is used
+            when generating &lt;a href="/plugins/javadoc/index.html"&gt;JavaDoc&lt;/a&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="build" minOccurs="0" 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 name="dependencies" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            &lt;p&gt;
+              This element describes all of the dependencies associated with a
+              project.  Each dependency is described by a
+              &lt;code&gt;dependency&lt;/code&gt; element, which is then described by
+              additional elements (described below).
+            &lt;/p&gt;
+            &lt;p&gt;
+              These dependencies are used to construct a classpath for your 
+              project during the build process.
+            &lt;/p&gt;
+            &lt;p&gt;
+              Maven can automatically download these dependencies from a 
+              &lt;a href="/user-guide.html#Remote%20Repository%20Layout"&gt;remote repository&lt;/a&gt;.
+            &lt;/p&gt;
+            &lt;p&gt;
+              The filename that Maven downloads from the repository is 
+              &lt;code&gt;artifactId-version.jar&lt;/code&gt; where &lt;code&gt;artifactId&lt;/code&gt; 
+              corresponds to the &lt;code&gt;artifactId&lt;/code&gt; element and 
+              &lt;code&gt;version&lt;/code&gt; corresponds to the &lt;code&gt;version&lt;/code&gt; element.
+            &lt;/p&gt;
+            &lt;p&gt;
+              When Maven goes looking for a dependency in the remote repository, 
+              it uses the dependency element to construct the URL to download 
+              from. This URL is defined as:
+            &lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;${repo}/${groupId}/${type}s/${artifactId}-${version}.${type}&lt;/pre&gt;
+            &lt;/div&gt;
+            &lt;p&gt;
+              Where
+            &lt;/p&gt;
+            &lt;dl&gt;
+              &lt;dt&gt;repo&lt;/dt&gt;
+              &lt;dd&gt;
+                is the remote repository URL specified by 
+                &lt;code&gt;${maven.repo.remote}&lt;/code&gt;
+              &lt;/dd&gt;
+              
+              &lt;dt&gt;groupId&lt;/dt&gt;
+              &lt;dd&gt;is taken from the dependency element&lt;/dd&gt;
+              
+              &lt;dt&gt;type&lt;/dt&gt;
+              &lt;dd&gt;is taken from the dependency element&lt;/dd&gt;
+              
+              &lt;dt&gt;artifactId&lt;/dt&gt;
+              &lt;dd&gt;is taken from the dependency element&lt;/dd&gt;
+              
+              &lt;dt&gt;version&lt;/dt&gt;
+              &lt;dd&gt;is taken from the dependency element&lt;/dd&gt;
+            &lt;/dl&gt;
+          </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:all>
+  </xs:complexType>
+  <xs:complexType name="Build">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="nagEmailAddress" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            An address to which notifications regarding the status of builds
+            for this project can be sent. This is intended for use by tools
+            which do unattended builds, for example those providing for
+            continuous integration. Currently this is used by the
+            &lt;a href="/plugins/gump/"&gt;gump plugin&lt;/a&gt;
+            target.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="sourceDirectory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            This element specifies a directory containing the source
+            of the project. The generated build system will compile
+            the source in this directory when the project is built.
+            The path given is relative to the project descriptor.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="unitTestSourceDirectory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            This element specifies a directory containing the unit test
+            source of the project. The generated build system will
+            compile these directories when the project is being tested.
+            The unit tests must use the JUnit test framework.
+            The path given is relative to the project descriptor.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="aspectSourceDirectory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">    
+             This element specifies a directory containing Aspect    
+             sources of the project.  The generated build system will    
+             compile the Aspects in this directory when the project is    
+             built if Aspects have been enabled (see the    
+             &lt;a    
+               href="/plugins/aspectj/goals.html"&gt;Aspectj goals&lt;/a&gt; document).    
+             The path given is relative to the project descriptor.    
+           </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="integrationUnitTestSourceDirectory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">    
+             This element specifies a directory containing integration test    
+             sources of the project.    
+           </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="sourceModifications" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            This element describes all of the sourceModifications associated 
+            with a project.  Each source modification is described by a
+            &lt;code&gt;sourceModification&lt;/code&gt; element, which is then described by
+             additional elements (described below).  These modifications are used 
+            to exclude or include various source depending on the environment
+             the build is running in.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="sourceModification" minOccurs="0" maxOccurs="unbounded" type="SourceModification"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="unitTest" minOccurs="0" type="UnitTest">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            This element specifies unit tests associated with the project.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="defaultGoal" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The default goal (or phase in Maven 2) to execute when none is specified for the project.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="resources" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            This element describes all of the resources associated with a 
+            project or unit tests. Each resource is described by a resource 
+            element, which is then described by additional elements (described 
+            &lt;a href="#resource"&gt;below&lt;/a&gt;). These resources are used to complete 
+            the jar file or to run unit test.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="resource" minOccurs="0" maxOccurs="unbounded" type="Resource"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="UnitTest">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="resources" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="resource" minOccurs="0" maxOccurs="unbounded" type="Resource"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="includes" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="excludes" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Resource">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        This element describes all of the resources associated with a project or 
+        unit tests. Each resource is described by a resource element, which is 
+        then described by additional elements (described 
+        &lt;a href="#resource"&gt;below&lt;/a&gt;). These resources are used to complete the 
+        jar file or to run unit test.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="targetPath" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Describe the resource target path. For example, if you want that 
+            resource appear into a specific package 
+            (&lt;code&gt;org.apache.maven.messages&lt;/code&gt;), you must specify this 
+            element with this value : &lt;code&gt;org/apache/maven/messages&lt;/code&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="filtering" minOccurs="0" type="xs:boolean" default="false">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">Boolean. Describe if resources are filtered or not.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="directory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Describe the directory where the resource is stored.
+            The path may be absolute, or relative to the project.xml file.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="includes" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="excludes" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="SourceModification">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0</xs:documentation>
+      <xs:documentation source="description">
+        This element describes all of the sourceModifications associated with a
+        project.  Each source modification is described by a
+        &lt;code&gt;sourceModification&lt;/code&gt; element, which is then described by
+        additional elements (described below).  These modifications are used 
+        to exclude or include various source depending on the environment
+        the build is running in.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="className" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            If the class with this name can &lt;strong&gt;not&lt;/strong&gt; be
+            loaded, then the includes and excludes specified below 
+            will be applied to the contents of the 
+            &lt;a href="#sourceDirectory"&gt;sourceDirectory&lt;/a&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="property" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="directory" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Describe the directory where the resource is stored.
+            The path may be absolute, or relative to the project.xml file.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="includes" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="excludes" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Organization">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="description">Specifies the organization who produces this project.</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="name" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The full name of the organization.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The URL to the organization's home page.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="logo" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The URL to the organization's logo image.  This can be an URL relative
+            to the base directory of the generated web site,
+            (e.g., &lt;code&gt;/images/org-logo.png&lt;/code&gt;) or an absolute URL
+            (e.g., &lt;code&gt;http://my.corp/logo.png&lt;/code&gt;).  This value is used
+            when generating the project documentation.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Developer">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Information about one of the committers on this project. Derived from
+        &lt;code&gt;Contributor&lt;/code&gt;.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="id" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The username of the developer.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="name" minOccurs="0" 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:annotation>
+      </xs:element>
+      <xs:element name="email" minOccurs="0" 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:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <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:annotation>
+      </xs:element>
+      <xs:element name="organization" minOccurs="0" type="xs:string">
+        <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:annotation>
+      </xs:element>
+      <xs:element name="organizationUrl" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <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="roles" minOccurs="0">
+        <xs:annotation>
+          <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.
+          </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: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:annotation>
+      </xs:element>
+      <xs:element name="properties" minOccurs="0">
+        <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:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Dependency">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="id" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            &lt;p&gt;The name of the dependency.&lt;/p&gt;
+            &lt;p&gt;
+              &lt;strong&gt;Note:&lt;/strong&gt; The use of the id element for
+              a dependency is deprecated. Please use &lt;code&gt;groupId&lt;/code&gt; and
+              &lt;code&gt;artifactId&lt;/code&gt; together instead.
+            &lt;/p&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="groupId" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The project group that produced the dependency, e.g.
+            &lt;code&gt;geronimo&lt;/code&gt;.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="artifactId" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The unique id for an artifact produced by the project group, e.g.
+            &lt;code&gt;germonimo-jms&lt;/code&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="version" minOccurs="0" type="xs:string">
+        <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;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            This url will be provided to the user if the jar file cannot be downloaded
+            from the central repository.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="jar" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Literal name of the artifact. Used to override the calculated artifact name.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="type" minOccurs="0" type="xs:string" default="jar">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The type of dependency. This defaults to &lt;code&gt;jar&lt;/code&gt;.
+            Known recognised dependency types are:
+            &lt;ul&gt;
+            &lt;li&gt;&lt;code&gt;jar&lt;/code&gt;&lt;/li&gt;
+            &lt;li&gt;&lt;code&gt;ejb&lt;/code&gt;&lt;/li&gt;
+            &lt;li&gt;&lt;code&gt;plugin&lt;/code&gt;&lt;/li&gt;
+            &lt;/ul&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="properties" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Properties about the dependency. Various plugins allow you to 
+            &lt;code&gt;mark&lt;/code&gt; dependencies with properties. For example the 
+            &lt;a href="/plugins/war/index.html"&gt;war&lt;/a&gt; plugin looks for a 
+            &lt;code&gt;war.bundle&lt;/code&gt; property, and if found will include the 
+            dependency in &lt;code&gt;WEB-INF/lib&lt;/code&gt;. For example syntax, check 
+            the war plugin docs.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Repository">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="connection" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            &lt;p&gt;
+              Optional.  The source configuration management system URL
+              that describes the repository and how to connect to the
+              repository.  This is used by Maven when &lt;a href="/plugins/dist/index.html"&gt;building versions&lt;/a&gt;
+              from specific ID.
+            &lt;/p&gt;
+            &lt;p&gt;
+              The format of this element is as follows:
+            &lt;/p&gt;
+            &lt;pre&gt;scm:&amp;lt;provider&amp;gt;:&amp;lt;provider-parameters&amp;gt;&lt;/pre&gt;
+            &lt;p&gt;For cvs, the format for pserver repositories should be:&lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;scm:cvs:pserver:user@host:/cvs/root:module-name&lt;/pre&gt;
+            &lt;/div&gt;
+            &lt;p&gt;
+              For local networked repositories (eg. pserver to local machine)
+            &lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;scm:cvs:lserver:user@host:/cvs/root:module-name&lt;/pre&gt;
+            &lt;/div&gt;
+            &lt;p&gt;
+              For ssh access:
+            &lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;scm:cvs:ext:user@host:/cvs/root:module-name&lt;/pre&gt;
+            &lt;/div&gt;
+
+            Remember that CVS will expect an environment variable called
+            &lt;code&gt;CVS_RSH&lt;/code&gt; to be set, typically to &lt;code&gt;ssh&lt;/code&gt; or your
+            ssh client.
+            
+            &lt;p&gt;
+              Some cvs clients support other protocols, such as ntserver and extssh.
+              Here's an example using CVS NT and ntserver:
+            &lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;scm|cvs|ntserver|user@server|e:\cvs|Deployment&lt;/pre&gt;
+            &lt;/div&gt;
+  
+            Note the use of the vertical bar as delimiter as the repository has a 
+            colon (&lt;code&gt;:&lt;/code&gt;) in it.
+            
+            &lt;p&gt;
+              For local file system repositories
+            &lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;scm:cvs:local:ignored:/cvs/root:module-name&lt;/pre&gt;
+            &lt;/div&gt;
+  
+            &lt;p&gt;
+              For StarTeam access: 
+            &lt;/p&gt;
+            &lt;div class="source"&gt;
+              &lt;pre&gt;scm:starteam:username:password@host:port/project/view/folder&lt;/pre&gt;
+            &lt;/div&gt;
+
+            All of this information can be had from either the StarTeam Universal 
+            Client (Tools-&amp;gt;Server Administration-&amp;gt;Server Properties) or from the 
+            administrator. 
+            
+            &lt;p&gt;
+              The delimiter is determined by the character after "scm". eg.
+              &lt;code&gt;scm|cvs|pserver|user@host|/cvs/root|module-name&lt;/code&gt; 
+              is equivalent to that listed above. This can be useful for Windows users
+              who have : in their cvsroot parameter (eg. D:\cvsroot)
+            &lt;/p&gt;
+            &lt;p&gt;
+              Where &lt;code&gt;pserver&lt;/code&gt; is the protocol used to access CVS,
+              &lt;code&gt;user@host&lt;/code&gt; is the user name to log in to the specified
+              cvs &lt;strong&gt;host&lt;/strong&gt;, &lt;code&gt;/cvs/root&lt;/code&gt; is the cvs root
+              directory, and &lt;code&gt;module-name&lt;/code&gt; is the name of the cvs
+              module to be worked on
+            &lt;/p&gt;
+
+            &lt;p&gt;As an example, the settings for an Apache project are usually:&lt;/p&gt;
+            &lt;pre&gt;scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:module-name&lt;/pre&gt;
+            
+            &lt;p&gt;
+              Currently CVS, Starteam and  SubVersion are the only supported scm's.
+              Others will be added as soon as possible
+            &lt;/p&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="developerConnection" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            Just like connection, but for developers, i.e. this scm connection
+            will not be read only.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">The URL to the project's browsable CVS repository.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="PackageGroup">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0</xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="title" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="packages" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">the description</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Version">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0</xs:documentation>
+      <xs:documentation source="description">
+        This element describes each of the previous versions of the
+        project. Each version is described by a &lt;code&gt;version&lt;/code&gt;
+        element
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="name" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The external version number under which this release was distributed. Examples include:
+            &lt;code&gt;1.0&lt;/code&gt;,
+            &lt;code&gt;1.1-alpha1&lt;/code&gt;,
+            &lt;code&gt;1.2-beta&lt;/code&gt;,
+            &lt;code&gt;1.3.2&lt;/code&gt; etc.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="tag" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The name given in the version control system (e.g. cvs) used by the project for the source
+            code associated with this version of the project.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="id" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            A unique identifier for a version.  This ID is
+            used to specify the version that
+            &lt;a href="/plugins/dist/index.html"&gt;
+              &lt;code&gt;maven:dist&lt;/code&gt;
+            &lt;/a&gt; builds.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="License">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        Describes the licenses for this project.  This is used to generate
+        the &lt;a href="/plugins/site/index.html"&gt;License&lt;/a&gt; page of
+        the project's web site. Typically the licenses listed for the project
+        are that of the project itself, and not of dependencies.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="name" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The full legal name of the license.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The official url for the license text.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="distribution" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+              The primary method by which this project may be distributed.
+            &lt;dl&gt;
+              &lt;dt&gt;repo&lt;/dt&gt;
+              &lt;dd&gt;may be downloaded from the Maven repository&lt;/dd&gt;
+              &lt;dt&gt;manual&lt;/dt&gt;
+              &lt;dd&gt;user must manually download and install the dependency.&lt;/dd&gt;
+            &lt;/dl&gt;
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="comments" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            Addendum information pertaining to this license.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Contributor">
+    <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:annotation>
+    <xs:all>
+      <xs:element name="name" minOccurs="0" 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:annotation>
+      </xs:element>
+      <xs:element name="email" minOccurs="0" 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:annotation>
+      </xs:element>
+      <xs:element name="url" minOccurs="0" type="xs:string">
+        <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:annotation>
+      </xs:element>
+      <xs:element name="organization" minOccurs="0" type="xs:string">
+        <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:annotation>
+      </xs:element>
+      <xs:element name="organizationUrl" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <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="roles" minOccurs="0">
+        <xs:annotation>
+          <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.
+          </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: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:annotation>
+      </xs:element>
+      <xs:element name="properties" minOccurs="0">
+        <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:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="Branch">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0</xs:documentation>
+      <xs:documentation source="description">
+       Optional. Contains information on branches of the project. This  
+       information is used when invoking the 
+       &lt;a href="/plugins/dist/index.html"&gt;&lt;code&gt;maven:dist&lt;/code&gt;&lt;/a&gt; target.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="tag" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0</xs:documentation>
+          <xs:documentation source="description">
+            The branch tag in the version control system (e.g. cvs) used by the 
+            project for the source code associated with this branch of the
+            project.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="MailingList">
+    <xs:annotation>
+      <xs:documentation source="version">3.0.0+</xs:documentation>
+      <xs:documentation source="description">
+        This element describes all of the mailing lists associated with
+        a project.  Each mailing list is described by a
+        &lt;code&gt;mailingList&lt;/code&gt; element, which is then described by
+        additional elements (described below).  The auto-generated site
+        documentation references this information.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:all>
+      <xs:element name="name" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">The name of the mailing list.</xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="subscribe" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The email address or link that can be used to subscribe to the mailing list.
+            If this is an email address, a
+            &lt;code&gt;mailto:&lt;/code&gt; link will automatically be created when
+            the documentation is created.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="unsubscribe" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The email address or link that can be used to unsubscribe to
+            the mailing list.  If this is an email address, a
+            &lt;code&gt;mailto:&lt;/code&gt; link will automatically be created
+            when the documentation is created.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="post" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The email address or link that can be used to post to
+            the mailing list.  If this is an email address, a
+            &lt;code&gt;mailto:&lt;/code&gt; link will automatically be created
+            when the documentation is created.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="archive" minOccurs="0" type="xs:string">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The link to a URL where you can browse the mailing list archive.
+          </xs:documentation>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="otherArchives" minOccurs="0">
+        <xs:annotation>
+          <xs:documentation source="version">3.0.0+</xs:documentation>
+          <xs:documentation source="description">
+            The link to other URLs where you can browse the list archive.
+          </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="otherArchive" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org