Simplify validation procedure: we always validate against the files found in plugin-resources/xsd (dtd)

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@377498 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
ltheussl
2006-02-13 21:36:29 +00:00
parent da715f45d9
commit af0c649fe1
12 changed files with 246 additions and 238 deletions

View File

@@ -47,13 +47,13 @@
</j:choose>
<!-- Create / Update xsd for navigation.xml -->
<!-- We must work on maven-navigation.xsd but we publish maven-navigation-${currentRelease}.xsd -->
<j:set var="currentNavigationXSD">${basedir}/src/plugin-resources/xsd/maven-navigation-${currentRelease}.xsd</j:set>
<j:set var="defaultNavigationXSD">${basedir}/src/xsd/maven-navigation.xsd</j:set>
<j:set var="currentNavigationXSD">${basedir}/src/xsd/maven-navigation-${currentRelease}.xsd</j:set>
<j:set var="defaultNavigationXSD">${basedir}/src/plugin-resources/xsd/maven-navigation.xsd</j:set>
<ant:copy file="${defaultNavigationXSD}" tofile="${currentNavigationXSD}"/>
<!-- Create / Update dtd for xdoc -->
<!-- We must work on maven-xdoc.dtd but we publish maven-xdoc-${currentRelease}.dtd -->
<j:set var="currentXdocDTD">${basedir}/src/plugin-resources/dtd/maven-xdoc-${currentRelease}.dtd</j:set>
<j:set var="defaultXdocDTD">${basedir}/src/dtd/maven-xdoc.dtd</j:set>
<j:set var="currentXdocDTD">${basedir}/src/dtd/maven-xdoc-${currentRelease}.dtd</j:set>
<j:set var="defaultXdocDTD">${basedir}/src/plugin-resources/dtd/maven-xdoc.dtd</j:set>
<ant:copy file="${defaultXdocDTD}" tofile="${currentXdocDTD}"/>
</preGoal>
</project>

View File

@@ -816,18 +816,8 @@
property="navigationFile.available"/>
<j:if test="${navigationFile.available}">
<maven:get plugin="maven-xdoc-plugin" property="plugin" var="installedPlugin" />
<!-- Remove SNAPSHOT -->
<j:choose>
<j:when test="${installedPlugin.currentVersion.endsWith('-SNAPSHOT')}">
<j:set var="currentRelease" value="${installedPlugin.currentVersion.substring(0,installedPlugin.currentVersion.length()-9)}"/>
</j:when>
<j:otherwise>
<j:set var="currentRelease" value="${installedPlugin.currentVersion}"/>
</j:otherwise>
</j:choose>
<plugin:validate-xml
schema="${plugin.resources}/xsd/maven-navigation-${currentRelease}.xsd"
schema="${plugin.resources}/xsd/maven-navigation.xsd"
file="${maven.docs.src}/${maven.xdoc.navigation.file}"/>
</j:if>
@@ -861,20 +851,10 @@
</patternset>
</fileset>
</fileScanner>
<maven:get plugin="maven-xdoc-plugin" property="plugin" var="installedPlugin" />
<!-- Remove SNAPSHOT -->
<j:choose>
<j:when test="${installedPlugin.currentVersion.endsWith('-SNAPSHOT')}">
<j:set var="currentRelease" value="${installedPlugin.currentVersion.substring(0,installedPlugin.currentVersion.length()-9)}"/>
</j:when>
<j:otherwise>
<j:set var="currentRelease" value="${installedPlugin.currentVersion}"/>
</j:otherwise>
</j:choose>
<j:forEach var="file" items="${xmlFiles.iterator()}">
<util:replace var="dtdFile" old=".xml" new=".dtd" value="${file}"/>
<util:replace var="xsdFile" old=".xml" new=".xsd" value="${file}"/>
<j:set var="schema" value="${plugin.resources}/dtd/maven-xdoc-${currentRelease}.dtd"/>
<j:set var="schema" value="${plugin.resources}/dtd/maven-xdoc.dtd"/>
<util:available file="${dtdFile}">
<j:set var="schema" value="${dtdFile}"/>
<echo>Using ${dtdFile} for validation</echo>

View File

@@ -1,2 +1,9 @@
We must edit maven-xdoc.dtd in the src/dtd directory but never maven-xdoc-${currentRelease}.dtd in ${plugin.resources}/dtd.
We store maven-xdoc-${currentRelease}.dtd in the SCM to be able to re-publish them if necessary.
We must edit maven-xdoc.dtd in the ${plugin.resources}/dtd directory
but never maven-xdoc-${currentRelease}.dtd in src/dtd.
Every time a new version of the plugin is released, we copy
${plugin.resources}/dtd/maven-xdoc.dtd into
src/dtd/maven-xdoc-${currentRelease}.dtd.
We store maven-xdoc-${currentRelease}.dtd in the SCM to be able
to re-publish them if necessary.

View File

@@ -1,2 +0,0 @@
We must edit maven-xdoc.dtd in the src/dtd directory but never maven-xdoc-${currentRelease}.dtd in ${plugin.resources}/dtd.
We store maven-xdoc-${currentRelease}.dtd in the SCM to be able to re-publish them if necessary.

View File

@@ -0,0 +1,9 @@
We must edit maven-xdoc.dtd in the ${plugin.resources}/dtd directory
but never maven-xdoc-${currentRelease}.dtd in src/dtd.
Every time a new version of the plugin is released, we copy
${plugin.resources}/dtd/maven-xdoc.dtd into
src/dtd/maven-xdoc-${currentRelease}.dtd.
We store maven-xdoc-${currentRelease}.dtd in the SCM to be able
to re-publish them if necessary.

View File

@@ -1,2 +0,0 @@
We must edit maven-navigation.xsd in the src/xsd directory but never maven-navigation-${currentRelease}.xsd in ${plugin.resources}/xsd.
We store maven-navigation-${currentRelease}.xsd in the SCM to be able to re-publish them if necessary.

View File

@@ -0,0 +1,9 @@
We must edit maven-navigation.xsd in the ${plugin.resources}/xsd directory
but never maven-navigation-${currentRelease}.xsd in src/xsd.
Every time a new version of the plugin is released, we copy
${plugin.resources}/xsd/maven-navigation.xsd into
src/xsd/maven-navigation-${currentRelease}.xsd.
We store maven-navigation-${currentRelease}.xsd in the SCM to be able
to re-publish them if necessary.

View File

@@ -1,102 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="project">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="body"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="title">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="body">
<xs:complexType>
<xs:sequence>
<xs:element ref="breadcrumbs" minOccurs="0"/>
<xs:element ref="links" minOccurs="0"/>
<xs:element ref="sitemap" minOccurs="0"/>
<xs:element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="search" minOccurs="0"/>
<xs:element ref="powered-by" minOccurs="0"/>
<xs:element ref="footer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sitemap"/>
<xs:element name="search"/>
<xs:element name="footer"/>
<xs:element name="links">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="breadcrumbs">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="menu">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<!-- type is an optional entry that defines where the menu is destined for.
Values - left-header (default), left-footer -->
</xs:complexType>
</xs:element>
<xs:element name="powered-by">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<!-- items can have other items -->
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<xs:attribute name="href" type="xs:string"/>
<xs:attribute name="collapse" type="xs:boolean"/>
<xs:attribute name="target" type="xs:string"/>
<xs:attribute name="img" type="xs:string"/>
<!-- img is an href that will be used as the image for link -->
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="project">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="body"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="title">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="body">
<xs:complexType>
<xs:sequence>
<xs:element ref="breadcrumbs" minOccurs="0"/>
<xs:element ref="links" minOccurs="0"/>
<xs:element ref="sitemap" minOccurs="0"/>
<xs:element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="search" minOccurs="0"/>
<xs:element ref="powered-by" minOccurs="0"/>
<xs:element ref="footer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sitemap"/>
<xs:element name="search"/>
<xs:element name="footer"/>
<xs:element name="links">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="breadcrumbs">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="menu">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<!-- type is an optional entry that defines where the menu is destined for.
Values - left-header (default), left-footer -->
</xs:complexType>
</xs:element>
<xs:element name="powered-by">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<!-- items can have other items -->
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<xs:attribute name="href" type="xs:string"/>
<xs:attribute name="collapse" type="xs:boolean"/>
<xs:attribute name="target" type="xs:string"/>
<xs:attribute name="img" type="xs:string"/>
<!-- img is an href that will be used as the image for link -->
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -1,2 +1,9 @@
We must edit maven-navigation.xsd in the src/xsd directory but never maven-navigation-${currentRelease}.xsd in ${plugin.resources}/xsd.
We store maven-navigation-${currentRelease}.xsd in the SCM to be able to re-publish them if necessary.
We must edit maven-navigation.xsd in the ${plugin.resources}/xsd directory
but never maven-navigation-${currentRelease}.xsd in src/xsd.
Every time a new version of the plugin is released, we copy
${plugin.resources}/xsd/maven-navigation.xsd into
src/xsd/maven-navigation-${currentRelease}.xsd.
We store maven-navigation-${currentRelease}.xsd in the SCM to be able
to re-publish them if necessary.

View File

@@ -1,102 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="project">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="body"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="title">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="body">
<xs:complexType>
<xs:sequence>
<xs:element ref="breadcrumbs" minOccurs="0"/>
<xs:element ref="links" minOccurs="0"/>
<xs:element ref="sitemap" minOccurs="0"/>
<xs:element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="search" minOccurs="0"/>
<xs:element ref="powered-by" minOccurs="0"/>
<xs:element ref="footer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sitemap"/>
<xs:element name="search"/>
<xs:element name="footer"/>
<xs:element name="links">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="breadcrumbs">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="menu">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<!-- type is an optional entry that defines where the menu is destined for.
Values - left-header (default), left-footer -->
</xs:complexType>
</xs:element>
<xs:element name="powered-by">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<!-- items can have other items -->
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<xs:attribute name="href" type="xs:string"/>
<xs:attribute name="collapse" type="xs:boolean"/>
<xs:attribute name="target" type="xs:string"/>
<xs:attribute name="img" type="xs:string"/>
<!-- img is an href that will be used as the image for link -->
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="project">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="body"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="title">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="body">
<xs:complexType>
<xs:sequence>
<xs:element ref="breadcrumbs" minOccurs="0"/>
<xs:element ref="links" minOccurs="0"/>
<xs:element ref="sitemap" minOccurs="0"/>
<xs:element ref="menu" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="search" minOccurs="0"/>
<xs:element ref="powered-by" minOccurs="0"/>
<xs:element ref="footer" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sitemap"/>
<xs:element name="search"/>
<xs:element name="footer"/>
<xs:element name="links">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="breadcrumbs">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="menu">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<!-- type is an optional entry that defines where the menu is destined for.
Values - left-header (default), left-footer -->
</xs:complexType>
</xs:element>
<xs:element name="powered-by">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<!-- items can have other items -->
<xs:element ref="item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="key" type="xs:string"/>
<xs:attribute name="href" type="xs:string"/>
<xs:attribute name="collapse" type="xs:boolean"/>
<xs:attribute name="target" type="xs:string"/>
<xs:attribute name="img" type="xs:string"/>
<!-- img is an href that will be used as the image for link -->
</xs:complexType>
</xs:element>
</xs:schema>