Every pom that does not extend another one (a root pom) has to comply
with the schema ${plugin.resources}/xsd/pom-strict-3.xsd (this needs review).
Running "pom:validate" on a child pom
will create another schema ${plugin.resources}/xsd/pom-extend-3.xsd
(if this doesn't exist already) via an xslt transformation using the
stylesheet ${plugin.resources}/xsl/pom-extend-3.xsl. This just replaces
all 'minOccurs="1"' attributes in pom-strict-3.xsd by 'minOccurs="0"'.
Namespace is still a problem, I removed it from the xsd (xml:parse seems not
to work on documents with namespace declarations?).
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@312982 13f79535-47bb-0310-9956-ffa450edef68
Every pom that does not extend another one (a 'root' pom) has to comply
with the schema ${plugin.resources}/xsd/pom-strict-3.xsd.
Running "pom:validate" on a child pom (a pom that extends another one)
will create another schema ${plugin.resources}/xsd/pom-extend-3.xsd
(if this doesn't exist already) via an xslt transformation using the
stylesheet ${plugin.resources}/xsl/pom-extend-3.xsl. This just replaces
all 'minOccurs="1"' attributes in pom-strict-3.xsd by 'minOccurs="0"'.
Note:
* Every element that is required in a root pom but is not obligatory
in a child pom, needs a 'minOccurs="1"'.
* Elements that are required in both parent and child poms, must not have
a 'minOccurs' attribute (so they default to 1).