You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2023/08/26 14:30:19 UTC
[maven-doxia-sitetools] 01/01: [DOXIASITETOOLS-311] Rework and simplify the site model
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch site-model-rework
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git
commit d909313dafe4352d0f735c9c68e8b0592e263b0a
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun Jun 25 00:46:36 2023 +0200
[DOXIASITETOOLS-311] Rework and simplify the site model
This closes #110
---
.../apache/maven/doxia/tools/DefaultSiteTool.java | 209 ++++++++++++++++-
.../src/main/resources/default-site.xml | 10 +-
.../org/apache/maven/doxia/tools/SiteToolTest.java | 41 +++-
.../unit/interpolated-site/src/site/site.xml | 19 +-
.../interpolation-child-test/src/site/site.xml | 49 ++--
.../interpolation-parent-test/src/site/site.xml | 21 +-
.../old-to-new-site-model-conversion-test/pom.xml | 36 +--
.../src/site/new-site.xml | 80 +++++++
.../src/site/site.xml | 78 +++++++
.../site-tool-locales-test/full/src/site/site.xml | 17 +-
.../full/src/site/site_de_DE_BY.xml | 17 +-
.../language/src/site/site.xml | 17 +-
.../language/src/site/site_de.xml | 17 +-
.../language_country/src/site/site.xml | 17 +-
.../language_country/src/site/site_de_DE.xml | 17 +-
.../unit/site-tool-test/src/site/site.xml | 17 +-
doxia-site-model/pom.xml | 66 +++++-
.../DefaultSiteModelInheritanceAssembler.java | 64 ++----
.../src/main/mdo/{site.mdo => decoration.mdo} | 74 ++----
doxia-site-model/src/main/mdo/site.mdo | 253 ++++++---------------
.../SiteModelInheritanceAssemblerTest.java | 84 ++++---
doxia-site-model/src/test/resources/empty.xml | 6 +-
.../src/test/resources/external-urls.xml | 22 +-
.../src/test/resources/fully-populated-child.xml | 22 +-
.../src/test/resources/fully-populated-merged.xml | 22 +-
.../test/resources/fully-populated-unresolved.xml | 22 +-
.../resources/inheritance-child-no-inheritance.xml | 6 +-
.../src/test/resources/inheritance-child.xml | 6 +-
.../src/test/resources/inheritance-expected.xml | 21 +-
.../src/test/resources/inheritance-parent.xml | 21 +-
.../src/test/resources/relative-urls-resolved.xml | 22 +-
.../src/test/resources/relative-urls.xml | 22 +-
.../subsite-relative-urls-multiple-resolved.xml | 22 +-
.../resources/subsite-relative-urls-resolved.xml | 22 +-
.../src/test/resources/subsite-urls-file.xml | 23 +-
.../src/test/resources/subsite-urls.xml | 23 +-
.../src/test/resources/site/site.xml | 21 +-
37 files changed, 902 insertions(+), 604 deletions(-)
diff --git a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
index f0eaf31..3ba0622 100644
--- a/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
+++ b/doxia-integration-tools/src/main/java/org/apache/maven/doxia/tools/DefaultSiteTool.java
@@ -48,10 +48,19 @@ import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.doxia.site.Banner;
+import org.apache.maven.doxia.site.Body;
+import org.apache.maven.doxia.site.Image;
+import org.apache.maven.doxia.site.LinkItem;
+import org.apache.maven.doxia.site.Logo;
import org.apache.maven.doxia.site.Menu;
import org.apache.maven.doxia.site.MenuItem;
+import org.apache.maven.doxia.site.PublishDate;
import org.apache.maven.doxia.site.SiteModel;
import org.apache.maven.doxia.site.Skin;
+import org.apache.maven.doxia.site.Version;
+import org.apache.maven.doxia.site.decoration.DecorationModel;
+import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
import org.apache.maven.doxia.site.inheritance.SiteModelInheritanceAssembler;
import org.apache.maven.doxia.site.io.xpp3.SiteXpp3Reader;
import org.apache.maven.doxia.site.io.xpp3.SiteXpp3Writer;
@@ -72,6 +81,8 @@ import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.util.xml.pull.MXParser;
+import org.codehaus.plexus.util.xml.pull.XmlPullParser;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
@@ -404,7 +415,7 @@ public class DefaultSiteTool implements SiteTool {
// "classical" late interpolation, after full inheritance
siteDescriptorContent = getInterpolatedSiteDescriptorContent(project, siteDescriptorContent, false);
- siteModel = readSiteModel(siteDescriptorContent);
+ siteModel = readSiteModel(siteDescriptorContent, project, locale);
if (parentProject != null) {
populateParentMenu(siteModel, locale, project, parentProject, true);
@@ -998,7 +1009,7 @@ public class DefaultSiteTool implements SiteTool {
// interpolate ${this.*} = early interpolation
siteDescriptorContent = getInterpolatedSiteDescriptorContent(project, siteDescriptorContent, true);
- siteModel = readSiteModel(siteDescriptorContent);
+ siteModel = readSiteModel(siteDescriptorContent, project, locale);
siteModel.setLastModified(siteDescriptor.lastModified());
} else {
LOGGER.debug("No" + (depth == 0 ? "" : (" parent level " + depth)) + " site descriptor");
@@ -1071,9 +1082,21 @@ public class DefaultSiteTool implements SiteTool {
* @return the site model object
* @throws SiteToolException if any
*/
- private SiteModel readSiteModel(String siteDescriptorContent) throws SiteToolException {
+ private SiteModel readSiteModel(String siteDescriptorContent, MavenProject project, Locale locale)
+ throws SiteToolException {
try {
- return new SiteXpp3Reader().read(new StringReader(siteDescriptorContent));
+ if (project != null && isOldSiteModel(siteDescriptorContent)) {
+ LOGGER.warn(
+ "Site model of '" + project.getId() + "' for "
+ + (locale.equals(SiteTool.DEFAULT_LOCALE)
+ ? "default locale"
+ : "locale '" + locale + "'")
+ + " is still using the old pre-version 2.0.0 model. You MUST migrate to the new model as soon as possible otherwise your build will break in the future!");
+ return convertOldToNewSiteModel(
+ new DecorationXpp3Reader().read(new StringReader(siteDescriptorContent)));
+ } else {
+ return new SiteXpp3Reader().read(new StringReader(siteDescriptorContent));
+ }
} catch (XmlPullParserException e) {
throw new SiteToolException("Error parsing site descriptor", e);
} catch (IOException e) {
@@ -1081,6 +1104,182 @@ public class DefaultSiteTool implements SiteTool {
}
}
+ private SiteModel convertOldToNewSiteModel(DecorationModel oldModel) {
+ SiteModel newModel = new SiteModel();
+ newModel.setName(oldModel.getName());
+ newModel.setCombineSelf(oldModel.getCombineSelf());
+ if (oldModel.getBannerLeft() != null) {
+ newModel.setBannerLeft(convertBanner(oldModel.getBannerLeft()));
+ }
+ if (oldModel.getBannerRight() != null) {
+ newModel.setBannerRight(convertBanner(oldModel.getBannerRight()));
+ }
+ if (!oldModel.isDefaultPublishDate()) {
+ PublishDate newPublishDate = new PublishDate();
+ newPublishDate.setFormat(oldModel.getPublishDate().getFormat());
+ newPublishDate.setPosition(oldModel.getPublishDate().getPosition());
+ newPublishDate.setTimezone(oldModel.getPublishDate().getTimezone());
+ newModel.setPublishDate(newPublishDate);
+ }
+ if (!oldModel.isDefaultVersion()) {
+ Version newVersion = new Version();
+ newVersion.setPosition(oldModel.getVersion().getPosition());
+ newModel.setVersion(newVersion);
+ }
+ newModel.setEdit(oldModel.getEdit());
+ if (oldModel.getSkin() != null) {
+ Skin newSkin = new Skin();
+ newSkin.setGroupId(oldModel.getSkin().getGroupId());
+ newSkin.setArtifactId(oldModel.getSkin().getArtifactId());
+ newSkin.setVersion(oldModel.getSkin().getVersion());
+ newModel.setSkin(newSkin);
+ }
+ // poweredBy
+ for (org.apache.maven.doxia.site.decoration.Logo oldLogo : oldModel.getPoweredBy()) {
+ Logo newLogo = new Logo();
+ newLogo.setName(oldLogo.getName());
+ newLogo.setHref(oldLogo.getHref());
+ newLogo.setTarget(oldLogo.getTarget());
+ if (oldLogo.getImg() != null) {
+ newLogo.setImage(convertImage(
+ oldLogo.getImg(),
+ oldLogo.getPosition(),
+ oldLogo.getHeight(),
+ oldLogo.getWidth(),
+ oldLogo.getBorder(),
+ oldLogo.getAlt()));
+ }
+ newModel.addPoweredBy(newLogo);
+ }
+ newModel.setLastModified(oldModel.getLastModified());
+ if (oldModel.getBody() != null) {
+ Body newBody = new Body();
+ newBody.setHead(oldModel.getBody().getHead());
+ for (org.apache.maven.doxia.site.decoration.LinkItem oldLink :
+ oldModel.getBody().getLinks()) {
+ newBody.addLink(convertLinkItem(oldLink));
+ }
+ for (org.apache.maven.doxia.site.decoration.LinkItem oldBreadcrumb :
+ oldModel.getBody().getBreadcrumbs()) {
+ newBody.addBreadcrumb(convertLinkItem(oldBreadcrumb));
+ }
+
+ for (org.apache.maven.doxia.site.decoration.Menu oldMenu :
+ oldModel.getBody().getMenus()) {
+ Menu newMenu = new Menu();
+ newMenu.setName(oldMenu.getName());
+ newMenu.setInherit(oldMenu.getInherit());
+ newMenu.setInheritAsRef(oldMenu.isInheritAsRef());
+ newMenu.setRef(oldMenu.getRef());
+ if (oldMenu.getImg() != null) {
+ newMenu.setImage(convertImage(
+ oldMenu.getImg(),
+ oldMenu.getPosition(),
+ oldMenu.getHeight(),
+ oldMenu.getWidth(),
+ oldMenu.getBorder(),
+ oldMenu.getAlt()));
+ }
+ newMenu.setItems(convertMenuItems(oldMenu.getItems()));
+ newBody.addMenu(newMenu);
+ }
+
+ newBody.setFooter(oldModel.getBody().getFooter());
+ newModel.setBody(newBody);
+ }
+ newModel.setCustom(oldModel.getCustom());
+
+ return newModel;
+ }
+
+ private Banner convertBanner(org.apache.maven.doxia.site.decoration.Banner oldBanner) {
+ Banner newBanner = new Banner();
+ newBanner.setName(oldBanner.getName());
+ newBanner.setHref(oldBanner.getHref());
+ if (oldBanner.getSrc() != null) {
+ newBanner.setImage(convertImage(
+ oldBanner.getSrc(),
+ null,
+ oldBanner.getHeight(),
+ oldBanner.getWidth(),
+ oldBanner.getBorder(),
+ oldBanner.getAlt()));
+ }
+
+ return newBanner;
+ }
+
+ private Image convertImage(String src, String position, String height, String width, String border, String alt) {
+ Image newImage = new Image();
+ newImage.setSrc(src);
+ newImage.setPosition(position);
+ newImage.setHeight(height);
+ newImage.setWidth(width);
+ if (border != null) {
+ newImage.setStyle("border: " + border + ";");
+ }
+ newImage.setAlt(alt);
+
+ return newImage;
+ }
+
+ private LinkItem convertLinkItem(org.apache.maven.doxia.site.decoration.LinkItem oldLinkItem) {
+ LinkItem newLinkItem = new LinkItem();
+ newLinkItem.setName(oldLinkItem.getName());
+ newLinkItem.setHref(oldLinkItem.getHref());
+ newLinkItem.setTarget(oldLinkItem.getTarget());
+ if (oldLinkItem.getImg() != null) {
+ newLinkItem.setImage(convertImage(
+ oldLinkItem.getImg(),
+ oldLinkItem.getPosition(),
+ oldLinkItem.getHeight(),
+ oldLinkItem.getWidth(),
+ oldLinkItem.getBorder(),
+ oldLinkItem.getAlt()));
+ }
+
+ return newLinkItem;
+ }
+
+ private List<MenuItem> convertMenuItems(List<org.apache.maven.doxia.site.decoration.MenuItem> oldMenuItems) {
+ List<MenuItem> newMenuItems = new ArrayList<>();
+ for (org.apache.maven.doxia.site.decoration.MenuItem oldMenuItem : oldMenuItems) {
+ MenuItem newMenuItem = new MenuItem();
+ newMenuItem.setName(oldMenuItem.getName());
+ newMenuItem.setHref(oldMenuItem.getHref());
+ newMenuItem.setTarget(oldMenuItem.getTarget());
+ newMenuItem.setCollapse(oldMenuItem.isCollapse());
+ newMenuItem.setRef(oldMenuItem.getRef());
+ newMenuItem.setItems(convertMenuItems(oldMenuItem.getItems()));
+ if (oldMenuItem.getImg() != null) {
+ newMenuItem.setImage(convertImage(
+ oldMenuItem.getImg(),
+ oldMenuItem.getPosition(),
+ oldMenuItem.getHeight(),
+ oldMenuItem.getWidth(),
+ oldMenuItem.getBorder(),
+ oldMenuItem.getAlt()));
+ }
+ newMenuItems.add(newMenuItem);
+ }
+
+ return newMenuItems;
+ }
+
+ private boolean isOldSiteModel(String siteDescriptorContent) throws XmlPullParserException, IOException {
+ XmlPullParser parser = new MXParser();
+ parser.setInput(new StringReader(siteDescriptorContent));
+
+ if (!(parser.getEventType() == XmlPullParser.START_DOCUMENT && parser.next() == XmlPullParser.START_TAG)) {
+ return false;
+ }
+ if ("project".equals(parser.getName())) {
+ return true;
+ }
+
+ return false;
+ }
+
private SiteModel getDefaultSiteModel() throws SiteToolException {
String siteDescriptorContent;
@@ -1094,7 +1293,7 @@ public class DefaultSiteTool implements SiteTool {
IOUtil.close(reader);
}
- return readSiteModel(siteDescriptorContent);
+ return readSiteModel(siteDescriptorContent, null, SiteTool.DEFAULT_LOCALE);
}
private String siteModelToString(SiteModel siteModel) throws SiteToolException {
diff --git a/doxia-integration-tools/src/main/resources/default-site.xml b/doxia-integration-tools/src/main/resources/default-site.xml
index 7f7052f..b523ed9 100644
--- a/doxia-integration-tools/src/main/resources/default-site.xml
+++ b/doxia-integration-tools/src/main/resources/default-site.xml
@@ -18,10 +18,10 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="${project.name}">
- <bannerLeft>
- <name>${project.name}</name>
- </bannerLeft>
+<site xmlns="http://maven.apache.org/SITE/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 https://maven.apache.org/xsd/site-2.0.0.xsd"
+ name="${project.name}">
+ <bannerLeft name="${project.name}" />
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
@@ -35,4 +35,4 @@ under the License.
<menu ref="modules" />
<menu ref="reports" />
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java b/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
index 7aa20f3..d1a1e47 100644
--- a/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
+++ b/doxia-integration-tools/src/test/java/org/apache/maven/doxia/tools/SiteToolTest.java
@@ -22,6 +22,7 @@ import javax.inject.Inject;
import javax.inject.Named;
import java.io.File;
+import java.io.StringReader;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Arrays;
@@ -38,6 +39,7 @@ import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.doxia.site.LinkItem;
import org.apache.maven.doxia.site.SiteModel;
import org.apache.maven.doxia.site.Skin;
+import org.apache.maven.doxia.site.io.xpp3.SiteXpp3Reader;
import org.apache.maven.doxia.site.io.xpp3.SiteXpp3Writer;
import org.apache.maven.doxia.tools.stubs.SiteToolMavenProjectStub;
import org.apache.maven.project.MavenProject;
@@ -127,7 +129,7 @@ public class SiteToolTest {
SiteToolMavenProjectStub project = new SiteToolMavenProjectStub("site-tool-test");
Skin skin = new Skin();
skin.setGroupId("org.apache.maven.skins");
- skin.setArtifactId("maven-stylus-skin");
+ skin.setArtifactId("maven-fluido-skin");
assertNotNull(
tool.getSkinArtifactFromRepository(newRepoSession(), project.getRemoteProjectRepositories(), skin));
}
@@ -370,13 +372,13 @@ public class SiteToolTest {
assertEquals("Maven Site", model.getBannerLeft().getName());
assertEquals(
"http://maven.apache.org/images/apache-maven-project.png",
- model.getBannerLeft().getSrc());
+ model.getBannerLeft().getImage().getSrc());
assertEquals("http://maven.apache.org/", model.getBannerLeft().getHref());
assertNotNull(model.getBannerRight());
assertNull(model.getBannerRight().getName());
assertEquals(
"http://maven.apache.org/images/maven-small.gif",
- model.getBannerRight().getSrc());
+ model.getBannerRight().getImage().getSrc());
assertNull(model.getBannerRight().getHref());
// model from repo: https://repo1.maven.org/maven2/org/apache/maven/maven/3.8.6/maven-3.8.6-site.xml
@@ -396,7 +398,7 @@ public class SiteToolTest {
assertEquals("dummy", modelFromRepo.getBannerLeft().getName());
assertEquals(
"https://maven.apache.org/images/apache-maven-project.png",
- modelFromRepo.getBannerLeft().getSrc());
+ modelFromRepo.getBannerLeft().getImage().getSrc());
assertEquals("https://maven.apache.org/", modelFromRepo.getBannerLeft().getHref());
assertNull(modelFromRepo.getBannerRight());
}
@@ -534,6 +536,37 @@ public class SiteToolTest {
assertEquals("PATH = PATH property from pom", links.next().getName());
}
+ /**
+ * @throws Exception
+ */
+ @Test
+ public void testConvertOldToNewSiteModel() throws Exception {
+ assertNotNull(tool);
+
+ SiteToolMavenProjectStub project = new SiteToolMavenProjectStub("old-to-new-site-model-conversion-test");
+ List<MavenProject> reactorProjects = new ArrayList<MavenProject>();
+
+ // model from current local build
+ SiteModel model = tool.getSiteModel(
+ new File(project.getBasedir(), "src/site"),
+ SiteTool.DEFAULT_LOCALE,
+ project,
+ reactorProjects,
+ newRepoSession(),
+ project.getRemoteProjectRepositories());
+ assertNotNull(model);
+
+ File descriptorFile =
+ getTestFile("src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/new-site.xml");
+ assertNotNull(descriptorFile);
+ assertTrue(descriptorFile.exists());
+
+ String siteDescriptorContent = FileUtils.fileRead(descriptorFile);
+ SiteModel newModel = new SiteXpp3Reader().read(new StringReader(siteDescriptorContent));
+ assertNotNull(newModel);
+ assertEquals(newModel, model);
+ }
+
private void writeModel(SiteModel model, String to) throws Exception {
Writer writer = WriterFactory.newXmlWriter(getTestFile("target/test-classes/" + to));
try {
diff --git a/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml
index db8aac9..118c544 100644
--- a/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/interpolated-site/src/site/site.xml
@@ -19,15 +19,20 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ </skin>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/"/>
@@ -40,4 +45,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/interpolation-child-test/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/interpolation-child-test/src/site/site.xml
index 091ed51..96beea9 100644
--- a/doxia-integration-tools/src/test/resources/unit/interpolation-child-test/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/interpolation-child-test/src/site/site.xml
@@ -1,24 +1,25 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
--->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd"
- name="${project.name}">
-</project>
\ No newline at end of file
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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.
+-->
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="${project.name}">
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/interpolation-parent-test/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/interpolation-parent-test/src/site/site.xml
index 27a2913..7943471 100644
--- a/doxia-integration-tools/src/test/resources/unit/interpolation-parent-test/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/interpolation-parent-test/src/site/site.xml
@@ -19,16 +19,15 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.6.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.6.0 http://maven.apache.org/xsd/decoration-1.6.0.xsd">
- <bannerLeft>
- <name>project.artifactId = ${project.artifactId}</name>
- </bannerLeft>
- <bannerRight>
- <name>this.artifactId = ${this.artifactId}</name>
- </bannerRight>
-
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd">
+ <bannerLeft name="project.artifactId = ${project.artifactId}" />
+ <bannerRight name="this.artifactId = ${this.artifactId}" />
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ </skin>
<body>
<links>
<!-- late interpolation from project model -->
@@ -49,4 +48,4 @@ under the License.
<item name="project.name = ${project.name}" href="${this.url}" />
</breadcrumbs>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml b/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/pom.xml
similarity index 52%
copy from doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml
copy to doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/pom.xml
index 64c545c..0382a76 100644
--- a/doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml
+++ b/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/pom.xml
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
@@ -9,7 +8,7 @@ to you 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
+ 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
@@ -19,20 +18,23 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.6.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.6.0.xsd"
- name="Child No Inheritance"
- combine.self="override">
- <body>
- <links>
- <item name="Bouncy Castle" href="http://www.bouncycastle.org"/>
- </links>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>old-to-new-site-model-conversion-test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
- <menu name="Subproject menu">
- <item name="Introduction" href="/indexChild.html"/>
- <item name="Usage" href="/usageChild.html"/>
- </menu>
+ <name>dummy</name>
- </body>
-</project>
\ No newline at end of file
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/new-site.xml b/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/new-site.xml
new file mode 100644
index 0000000..3ad354b
--- /dev/null
+++ b/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/new-site.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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.
+-->
+
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" alt="banner left" height="200px" width="200px" style="border: solid;" />
+ </bannerLeft>
+ <bannerRight name="right" />
+ <publishDate position="top" format="yyyyMMdd" timezone="Europe/Berlin" />
+ <version position="bottom" />
+ <edit>foo</edit>
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-stylus-skin</artifactId>
+ </skin>
+ <poweredBy>
+ <logo name="first" />
+ <logo name="second" href="foo" target="_blank">
+ <image src="logo.png" position="left" alt="second logo" width="10px" height="10px" style="border: dotted;" />
+ </logo>
+ </poweredBy>
+ <body>
+ <head>head injection</head>
+ <links>
+ <item name="Maven" href="http://maven.apache.org/" />
+ <item name="Maven" href="http://maven.apache.org/" target="_blank">
+ <image src="link.jpeg" position="left" alt="second link" width="10px" height="10px" style="border: dotted;" />
+ </item>
+ </links>
+ <breadcrumbs>
+ <item name="Maven" href="http://maven.apache.org/" />
+ <item name="Maven" href="http://maven.apache.org/" target="_blank">
+ <image src="breadcrumb.jpeg" position="left" alt="second breadcrumb" width="10px" height="10px" style="border: dotted;" />
+ </item>
+ </breadcrumbs>
+
+ <menu name="Overview">
+ <item name="Test" href="/test.html" />
+ </menu>
+ <menu name="Details" inherit="bottom" inheritAsRef="false" ref="foo">
+ <image src="menu.jpeg" position="left" alt="second menu" width="10px" height="10px" style="border: dotted;" />
+ <item name="Test" href="/test.html" collapse="false" ref="foo">
+ <image src="item.jpeg" position="left" alt="second menu" width="10px" height="10px" style="border: dotted;" />
+ <item name="Nested Test" href="/test.html" collapse="false" ref="foo">
+ <image src="nested-item.jpeg" position="left" alt="second menu" width="10px" height="10px" style="border: dotted;" />
+ </item>
+ </item>
+ </menu>
+ <menu ref="reports" />
+
+ <footer>footer injection</footer>
+ </body>
+
+ <custom>
+ <options>
+ <foo>bar</foo>
+ </options>
+ </custom>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/site.xml
new file mode 100644
index 0000000..45a9688
--- /dev/null
+++ b/doxia-integration-tools/src/test/resources/unit/old-to-new-site-model-conversion-test/src/site/site.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/DECORATION/1.8.1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.1 file:../../../target/generated-site/xsd/decoration-1.8.1.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft>
+ <name>Maven Site</name>
+ <href>http://maven.apache.org/</href>
+ <src>http://maven.apache.org/images/apache-maven-project.png</src>
+ <alt>banner left</alt>
+ <border>solid</border>
+ <height>200px</height>
+ <width>200px</width>
+ </bannerLeft>
+ <bannerRight>
+ <name>right</name>
+ </bannerRight>
+ <publishDate position="top" format="yyyyMMdd" timezone="Europe/Berlin" />
+ <version position="bottom" />
+ <edit>foo</edit>
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-stylus-skin</artifactId>
+ </skin>
+ <poweredBy>
+ <logo name="first" />
+ <logo name="second" href="foo" target="_blank" img="logo.png" position="left" alt="second logo" border="dotted" width="10px" height="10px" />
+ </poweredBy>
+ <body>
+ <head>head injection</head>
+ <links>
+ <item name="Maven" href="http://maven.apache.org/" />
+ <item name="Maven" href="http://maven.apache.org/" target="_blank" img="link.jpeg" position="left" alt="second link" border="dotted" width="10px" height="10px" />
+ </links>
+ <breadcrumbs>
+ <item name="Maven" href="http://maven.apache.org/" />
+ <item name="Maven" href="http://maven.apache.org/" target="_blank" img="breadcrumb.jpeg" position="left" alt="second breadcrumb" border="dotted" width="10px" height="10px" />
+ </breadcrumbs>
+
+ <menu name="Overview">
+ <item name="Test" href="/test.html"/>
+ </menu>
+ <menu name="Details" inherit="bottom" inheritAsRef="false" ref="foo" img="menu.jpeg" position="left" alt="second menu" border="dotted" width="10px" height="10px">
+ <item name="Test" href="/test.html" collapse="false" ref="foo" img="item.jpeg" position="left" alt="second menu" border="dotted" width="10px" height="10px">
+ <item name="Nested Test" href="/test.html" collapse="false" ref="foo" img="nested-item.jpeg" position="left" alt="second menu" border="dotted" width="10px" height="10px" />
+ </item>
+ </menu>
+ <menu ref="reports" />
+
+ <footer>footer injection</footer>
+ </body>
+
+ <custom>
+ <options>
+ <foo>bar</foo>
+ </options>
+ </custom>
+</project>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site.xml
index a65c9a9..37d75d8 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site_de_DE_BY.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site_de_DE_BY.xml
index 849863c..109905d 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site_de_DE_BY.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/full/src/site/site_de_DE_BY.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site.xml
index a65c9a9..37d75d8 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site_de.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site_de.xml
index e330ea1..c176934 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site_de.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language/src/site/site_de.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site.xml
index dec2ea7..150ee16 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site_de_DE.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site_de_DE.xml
index dec2ea7..150ee16 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site_de_DE.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-locales-test/language_country/src/site/site_de_DE.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml b/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
index dec2ea7..150ee16 100644
--- a/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
+++ b/doxia-integration-tools/src/test/resources/unit/site-tool-test/src/site/site.xml
@@ -19,18 +19,19 @@ specific language governing permissions and limitations
under the License.
-->
-<project name="Maven Dummy Site">
- <bannerLeft>
- <name>Maven Site</name>
- <src>http://maven.apache.org/images/apache-maven-project.png</src>
- <href>http://maven.apache.org/</href>
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
+ name="Maven Dummy Site">
+ <bannerLeft name="Maven Site" href="http://maven.apache.org/">
+ <image src="http://maven.apache.org/images/apache-maven-project.png" />
</bannerLeft>
<bannerRight>
- <src>http://maven.apache.org/images/maven-small.gif</src>
+ <image src="http://maven.apache.org/images/maven-small.gif" />
</bannerRight>
<skin>
<groupId>org.apache.maven.skins</groupId>
- <artifactId>maven-stylus-skin</artifactId>
+ <artifactId>maven-fluido-skin</artifactId>
</skin>
<body>
<links>
@@ -42,4 +43,4 @@ under the License.
</menu>
<menu ref="reports"/>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/pom.xml b/doxia-site-model/pom.xml
index 2a392d9..610a13b 100644
--- a/doxia-site-model/pom.xml
+++ b/doxia-site-model/pom.xml
@@ -63,11 +63,6 @@ under the License.
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
<configuration>
- <models>
- <model>src/main/mdo/site.mdo</model>
- </models>
- <!-- TODO Do not forget to update the version in the description. See DOXIASITETOOLS-98. -->
- <version>2.0.0</version>
<firstVersion>1.0.0</firstVersion>
</configuration>
<executions>
@@ -80,6 +75,28 @@ under the License.
<goal>xsd</goal>
</goals>
<phase>generate-sources</phase>
+ <configuration>
+ <models>
+ <model>src/main/mdo/site.mdo</model>
+ </models>
+ <!-- TODO Do not forget to update the version in the description. See DOXIASITETOOLS-98. -->
+ <version>2.0.0</version>
+ </configuration>
+ </execution>
+ <execution>
+ <id>old-descriptor</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ <configuration>
+ <models>
+ <model>src/main/mdo/decoration.mdo</model>
+ </models>
+ <version>1.8.1</version>
+ </configuration>
</execution>
<execution>
<id>descriptor-xdoc</id>
@@ -87,6 +104,26 @@ under the License.
<goal>xdoc</goal>
</goals>
<phase>pre-site</phase>
+ <configuration>
+ <models>
+ <model>src/main/mdo/site.mdo</model>
+ </models>
+ <!-- TODO Do not forget to update the version in the description. See DOXIASITETOOLS-98. -->
+ <version>2.0.0</version>
+ </configuration>
+ </execution>
+ <execution>
+ <id>old-descriptor-xdoc</id>
+ <goals>
+ <goal>xdoc</goal>
+ </goals>
+ <phase>pre-site</phase>
+ <configuration>
+ <models>
+ <model>src/main/mdo/decoration.mdo</model>
+ </models>
+ <version>1.8.1</version>
+ </configuration>
</execution>
<execution>
<id>descriptor-xsd</id>
@@ -95,6 +132,25 @@ under the License.
</goals>
<phase>pre-site</phase>
<configuration>
+ <models>
+ <model>src/main/mdo/site.mdo</model>
+ </models>
+ <!-- TODO Do not forget to update the version in the description. See DOXIASITETOOLS-98. -->
+ <version>2.0.0</version>
+ <outputDirectory>${project.build.directory}/generated-site/resources/xsd</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>old-descriptor-xsd</id>
+ <goals>
+ <goal>xsd</goal>
+ </goals>
+ <phase>pre-site</phase>
+ <configuration>
+ <models>
+ <model>src/main/mdo/decoration.mdo</model>
+ </models>
+ <version>1.8.1</version>
<outputDirectory>${project.build.directory}/generated-site/resources/xsd</outputDirectory>
</configuration>
</execution>
diff --git a/doxia-site-model/src/main/java/org/apache/maven/doxia/site/inheritance/DefaultSiteModelInheritanceAssembler.java b/doxia-site-model/src/main/java/org/apache/maven/doxia/site/inheritance/DefaultSiteModelInheritanceAssembler.java
index 0ef6bf8..e531e5d 100644
--- a/doxia-site-model/src/main/java/org/apache/maven/doxia/site/inheritance/DefaultSiteModelInheritanceAssembler.java
+++ b/doxia-site-model/src/main/java/org/apache/maven/doxia/site/inheritance/DefaultSiteModelInheritanceAssembler.java
@@ -24,7 +24,6 @@ import javax.inject.Singleton;
import java.util.ArrayList;
import java.util.List;
-import org.apache.maven.doxia.site.Banner;
import org.apache.maven.doxia.site.Body;
import org.apache.maven.doxia.site.LinkItem;
import org.apache.maven.doxia.site.Logo;
@@ -55,12 +54,12 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
if (child.getBannerLeft() == null && parent.getBannerLeft() != null) {
child.setBannerLeft(parent.getBannerLeft().clone());
- rebaseBannerPaths(child.getBannerLeft(), urlContainer);
+ rebaseLinkItemPaths(child.getBannerLeft(), urlContainer);
}
if (child.getBannerRight() == null && parent.getBannerRight() != null) {
child.setBannerRight(parent.getBannerRight().clone());
- rebaseBannerPaths(child.getBannerRight(), urlContainer);
+ rebaseLinkItemPaths(child.getBannerRight(), urlContainer);
}
if (child.isDefaultPublishDate() && parent.getPublishDate() != null) {
@@ -97,15 +96,15 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
}
if (siteModel.getBannerLeft() != null) {
- relativizeBannerPaths(siteModel.getBannerLeft(), baseUrl);
+ relativizeLinkItemPaths(siteModel.getBannerLeft(), baseUrl);
}
if (siteModel.getBannerRight() != null) {
- relativizeBannerPaths(siteModel.getBannerRight(), baseUrl);
+ relativizeLinkItemPaths(siteModel.getBannerRight(), baseUrl);
}
for (Logo logo : siteModel.getPoweredBy()) {
- relativizeLogoPaths(logo, baseUrl);
+ relativizeLinkItemPaths(logo, baseUrl);
}
if (siteModel.getBody() != null) {
@@ -119,34 +118,13 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
for (Menu menu : siteModel.getBody().getMenus()) {
relativizeMenuPaths(menu.getItems(), baseUrl);
+ if (menu.getImage() != null) {
+ menu.getImage().setSrc(relativizeLink(menu.getImage().getSrc(), baseUrl));
+ }
}
}
}
- /**
- * Resolves all relative paths between the elements in a banner. The banner element might contain relative paths
- * to the oldBaseUrl, these are changed to the newBannerUrl.
- *
- * @param banner
- * @param baseUrl
- */
- private void relativizeBannerPaths(final Banner banner, final String baseUrl) {
- // banner has been checked to be not null, both href and src may be empty or null
- banner.setHref(relativizeLink(banner.getHref(), baseUrl));
- banner.setSrc(relativizeLink(banner.getSrc(), baseUrl));
- }
-
- private void rebaseBannerPaths(final Banner banner, final URLRebaser urlContainer) {
- if (banner.getHref() != null) // it may be empty
- {
- banner.setHref(urlContainer.rebaseLink(banner.getHref()));
- }
-
- if (banner.getSrc() != null) {
- banner.setSrc(urlContainer.rebaseLink(banner.getSrc()));
- }
- }
-
private void assembleCustomInheritance(final SiteModel child, final SiteModel parent) {
if (child.getCustom() == null) {
child.setCustom(parent.getCustom());
@@ -207,6 +185,10 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
final Menu clone = menu.clone();
rebaseMenuPaths(clone.getItems(), urlContainer);
+ if (clone.getImage() != null) {
+ clone.getImage()
+ .setSrc(urlContainer.rebaseLink(clone.getImage().getSrc()));
+ }
menus.add(topCounter, clone);
topCounter++;
@@ -214,6 +196,10 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
final Menu clone = menu.clone();
rebaseMenuPaths(clone.getItems(), urlContainer);
+ if (clone.getImage() != null) {
+ clone.getImage()
+ .setSrc(urlContainer.rebaseLink(clone.getImage().getSrc()));
+ }
menus.add(clone);
}
@@ -238,20 +224,16 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
private void relativizeLinkItemPaths(final LinkItem item, final String baseUrl) {
item.setHref(relativizeLink(item.getHref(), baseUrl));
+ if (item.getImage() != null) {
+ item.getImage().setSrc(relativizeLink(item.getImage().getSrc(), baseUrl));
+ }
}
private void rebaseLinkItemPaths(final LinkItem item, final URLRebaser urlContainer) {
item.setHref(urlContainer.rebaseLink(item.getHref()));
- }
-
- private void relativizeLogoPaths(final Logo logo, final String baseUrl) {
- logo.setImg(relativizeLink(logo.getImg(), baseUrl));
- relativizeLinkItemPaths(logo, baseUrl);
- }
-
- private void rebaseLogoPaths(final Logo logo, final URLRebaser urlContainer) {
- logo.setImg(urlContainer.rebaseLink(logo.getImg()));
- rebaseLinkItemPaths(logo, urlContainer);
+ if (item.getImage() != null) {
+ item.getImage().setSrc(urlContainer.rebaseLink(item.getImage().getSrc()));
+ }
}
private List<LinkItem> mergeLinkItemLists(
@@ -293,7 +275,7 @@ public class DefaultSiteModelInheritanceAssembler implements SiteModelInheritanc
if (!logos.contains(logo)) {
final Logo clone = logo.clone();
- rebaseLogoPaths(clone, urlContainer);
+ rebaseLinkItemPaths(clone, urlContainer);
logos.add(clone);
}
diff --git a/doxia-site-model/src/main/mdo/site.mdo b/doxia-site-model/src/main/mdo/decoration.mdo
similarity index 92%
copy from doxia-site-model/src/main/mdo/site.mdo
copy to doxia-site-model/src/main/mdo/decoration.mdo
index 531a7e9..aa0adbb 100644
--- a/doxia-site-model/src/main/mdo/site.mdo
+++ b/doxia-site-model/src/main/mdo/decoration.mdo
@@ -20,30 +20,30 @@ under the License.
-->
<model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd"
- xml.namespace="http://maven.apache.org/SITE/${version}"
- xml.schemaLocation="http://maven.apache.org/xsd/site-${version}.xsd">
- <id>site</id>
- <name>Site</name>
+ xml.namespace="http://maven.apache.org/DECORATION/${version}"
+ xml.schemaLocation="http://maven.apache.org/xsd/decoration-${version}.xsd">
+ <id>decoration</id>
+ <name>Decoration</name>
<description><![CDATA[
- <p>This is a reference for the site descriptor used in Doxia Sitetools, also known as <code>site.xml</code>:
+ <p>This is a reference for the site decoration descriptor used in Doxia Sitetools, also known as <code>site.xml</code>:
it is used to configure a site template (aka skin).</p>
<p>An XSD is available at:</p>
<ul>
<!-- There is no property filtering in Modello, this has to be updated manually. See DOXIASITETOOLS-98. -->
- <li><a href="https://maven.apache.org/xsd/site-2.0.0.xsd">https://maven.apache.org/xsd/site-2.0.0.xsd</a></li>
+ <li><a href="https://maven.apache.org/xsd/decoration-1.8.1.xsd">https://maven.apache.org/xsd/decoration-1.8.1.xsd</a></li>
</ul>
]]></description>
<defaults>
<default>
<key>package</key>
- <value>org.apache.maven.doxia.site</value>
+ <value>org.apache.maven.doxia.site.decoration</value>
</default>
</defaults>
<classes>
<class rootElement="true" xml.tagName="project" java.clone="deep">
- <name>SiteModel</name>
+ <name>DecorationModel</name>
<description><![CDATA[
The <code><project></code> element is the root of the site decoration descriptor.
]]></description>
@@ -51,7 +51,7 @@ under the License.
<fields>
<field xml.attribute="true">
<name>name</name>
- <description>The full name of the project site.</description>
+ <description>The full name of the project.</description>
<version>1.0.0+</version>
<type>String</type>
<identifier>true</identifier>
@@ -133,7 +133,7 @@ under the License.
</field>
<field xdoc.separator="blank">
<name>body</name>
- <description>The main site content.</description>
+ <description>The main site content decoration.</description>
<version>1.0.0+</version>
<association>
<type>Body</type>
@@ -144,8 +144,8 @@ under the License.
<name>custom</name>
<description><![CDATA[
Custom configuration for use with customized Velocity templates. Data from this field are
- accessible in Velocity template from <code>$site.custom</code> variable as DOM content.
- Example: <code>$site.custom.getChild( 'customElement' ).getValue()</code>
+ accessible in Velocity template from <code>$decoration.custom</code> variable as DOM content.
+ Example: <code>$decoration.custom.getChild( 'customElement' ).getValue()</code>
]]></description>
<version>1.0.0+</version>
<type>DOM</type>
@@ -153,7 +153,7 @@ under the License.
</field>
<field xml.transient="true">
<name>lastModified</name>
- <description>Timestamp of the last modification of this site model.</description>
+ <description>Timestamp of the last modification of this decoration model.</description>
<version>1.0.1+</version>
<type>long</type>
</field>
@@ -261,50 +261,6 @@ under the License.
]]>
</code>
</codeSegment>
- <codeSegment>
- <version>1.7.0+</version>
- <code>
- /**
- * @since 1.7
- * @see SiteUtils#isLink
- */
- public boolean isLink( String href )
- {
- return SiteUtils.isLink( href );
- }
- </code>
- </codeSegment>
- <codeSegment>
- <version>1.8.0+</version>
- <code>
- /**
- * @since 1.8
- * @see SiteUtils#getCustomChild
- */
- public Object getCustomChild( String path )
- {
- return SiteUtils.getCustomChild( (org.codehaus.plexus.util.xml.Xpp3Dom) custom, path );
- }
-
- /**
- * @since 1.8
- * @see SiteUtils#getCustomValue
- */
- public String getCustomValue( String path )
- {
- return SiteUtils.getCustomValue( (org.codehaus.plexus.util.xml.Xpp3Dom) custom, path );
- }
-
- /**
- * @since 1.8
- * @see SiteUtils#getCustomValue
- */
- public String getCustomValue( String path, String defaultValue )
- {
- return SiteUtils.getCustomValue( (org.codehaus.plexus.util.xml.Xpp3Dom) custom, path, defaultValue );
- }
- </code>
- </codeSegment>
</codeSegments>
</class>
@@ -402,7 +358,7 @@ under the License.
of the Java Virtual Machine. Refer to <code>java.util.TimeZone</code> for details.
]]>
</description>
- <version>2.0.0+</version>
+ <version>1.8.1+</version>
<type>String</type>
<identifier>true</identifier>
<defaultValue>Etc/UTC</defaultValue>
@@ -435,7 +391,7 @@ under the License.
<class java.clone="deep" xsd.compositor="sequence">
<name>Body</name>
- <description>The main content.</description>
+ <description>The main content decoration.</description>
<version>1.0.0+</version>
<fields>
<field>
diff --git a/doxia-site-model/src/main/mdo/site.mdo b/doxia-site-model/src/main/mdo/site.mdo
index 531a7e9..fc68742 100644
--- a/doxia-site-model/src/main/mdo/site.mdo
+++ b/doxia-site-model/src/main/mdo/site.mdo
@@ -21,7 +21,7 @@ under the License.
<model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd"
xml.namespace="http://maven.apache.org/SITE/${version}"
- xml.schemaLocation="http://maven.apache.org/xsd/site-${version}.xsd">
+ xml.schemaLocation="https://maven.apache.org/xsd/site-${version}.xsd">
<id>site</id>
<name>Site</name>
<description><![CDATA[
@@ -42,10 +42,10 @@ under the License.
</defaults>
<classes>
- <class rootElement="true" xml.tagName="project" java.clone="deep">
+ <class rootElement="true" xml.tagName="site" java.clone="deep">
<name>SiteModel</name>
<description><![CDATA[
- The <code><project></code> element is the root of the site decoration descriptor.
+ The <code><site></code> element is the root of the site decoration descriptor.
]]></description>
<version>1.0.0+</version>
<fields>
@@ -312,65 +312,7 @@ under the License.
<name>Banner</name>
<description>Banner logo on the masthead of the site.</description>
<version>1.0.0+</version>
- <fields>
- <!-- Ideally we want attributes DOXIA-335 -->
- <field>
- <name>name</name>
- <version>1.0.0+</version>
- <description>The name of the banner.</description>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>src</name>
- <version>1.0.0+</version>
- <description>The source location of an image for the banner.</description>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>alt</name>
- <version>1.0.0+</version>
- <description>The alt description for the banner image.</description>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>href</name>
- <version>1.0.0+</version>
- <description>The href of a link to be used for the banner image.</description>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>border</name>
- <description>The border to use for the banner image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>width</name>
- <description>The width to use for the banner image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>height</name>
- <description>The height to use for the banner image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field>
- <name>title</name>
- <version>1.3.0+</version>
- <description>The title for the banner image.</description>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- </fields>
+ <superClass>LinkItem</superClass>
</class>
<class java.clone="deep">
@@ -402,7 +344,7 @@ under the License.
of the Java Virtual Machine. Refer to <code>java.util.TimeZone</code> for details.
]]>
</description>
- <version>2.0.0+</version>
+ <version>1.8.1+</version>
<type>String</type>
<identifier>true</identifier>
<defaultValue>Etc/UTC</defaultValue>
@@ -438,13 +380,6 @@ under the License.
<description>The main content.</description>
<version>1.0.0+</version>
<fields>
- <field>
- <name>head</name>
- <description>Additional content (like JavaScript) to include in the HEAD block of the generated pages.</description>
- <version>1.0.0/1.6.0</version>
- <type>DOM</type>
- <identifier>true</identifier>
- </field>
<field>
<name>head</name>
<description>Additional content (like JavaScript) to include in the HEAD block of the generated pages.</description>
@@ -489,13 +424,6 @@ under the License.
<type>String</type>
<identifier>true</identifier>
</field>
- <field>
- <name>footer</name>
- <description>If present, the contained text will be used instead of the generated copyright text.</description>
- <version>1.1.0/1.6.0</version>
- <type>DOM</type>
- <identifier>true</identifier>
- </field>
</fields>
</class>
@@ -518,49 +446,6 @@ under the License.
<type>String</type>
<identifier>true</identifier>
</field>
- <field xml.attribute="true">
- <name>img</name>
- <description>The source location of an image.</description>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>position</name>
- <description>Where to place the image regarding the displayed name (left or right).</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- <defaultValue>left</defaultValue>
- </field>
- <field xml.attribute="true">
- <name>alt</name>
- <description>The alt to use for the image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>border</name>
- <description>The border to use for the image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>width</name>
- <description>The width to use for the image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>height</name>
- <description>The height to use for the image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
<field xml.attribute="true">
<name>target</name>
<description>Where the new document will be displayed when the user follows a link, i.e. _blank opens the new document in a new window.</description>
@@ -568,11 +453,13 @@ under the License.
<type>String</type>
<identifier>true</identifier>
</field>
- <field xml.attribute="true">
- <name>title</name>
- <description>The title to use for the image.</description>
- <version>1.3.0+</version>
- <type>String</type>
+ <field>
+ <name>image</name>
+ <version>2.0.0+</version>
+ <description>The image for the link.</description>
+ <association>
+ <type>Image</type>
+ </association>
<identifier>true</identifier>
</field>
</fields>
@@ -603,7 +490,7 @@ under the License.
<name>inheritAsRef</name>
<description><![CDATA[
If this is a reference, setting to <code>true</code> means that it will be populated
- in the project, whereas if it is <code>false</code>, it is populated in the parent and then inherited.
+ in the site, whereas if it is <code>false</code>, it is populated in the parent and then inherited.
]]></description>
<version>1.0.0+</version>
<type>boolean</type>
@@ -618,54 +505,13 @@ under the License.
<type>String</type>
<identifier>true</identifier>
</field>
- <field xml.attribute="true">
- <name>img</name>
- <description>The source location of an menu image.</description>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>alt</name>
- <version>1.0.1+</version>
- <description>The alt description for the image.</description>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>position</name>
- <description>Where to place the image regarding the displayed name (left or right).</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- <defaultValue>left</defaultValue>
- </field>
- <field xml.attribute="true">
- <name>border</name>
- <description>The border to use for the menu image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>width</name>
- <description>The width to use for the menu image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>height</name>
- <description>The height to use for the menu image.</description>
- <version>1.0.1+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
- <field xml.attribute="true">
- <name>title</name>
- <version>1.3.0+</version>
- <description>The title for the image.</description>
- <type>String</type>
+ <field>
+ <name>image</name>
+ <version>2.0.0+</version>
+ <description>The image for the menu.</description>
+ <association>
+ <type>Image</type>
+ </association>
<identifier>true</identifier>
</field>
<field>
@@ -687,13 +533,6 @@ under the License.
<version>1.0.0+</version>
<superClass>LinkItem</superClass>
<fields>
- <field>
- <name>description</name>
- <description>A description of the menu item. This is used on any summary pages for a menu.</description>
- <version>1.0.0+</version>
- <type>String</type>
- <identifier>true</identifier>
- </field>
<field xml.attribute="true">
<name>collapse</name>
<description>Whether to collapse children elements of an item menu (by default).</description>
@@ -722,6 +561,58 @@ under the License.
</fields>
</class>
+ <class java.clone="deep">
+ <name>Image</name>
+ <description>An image.</description>
+ <version>2.0.0+</version>
+ <fields>
+ <field xml.attribute="true">
+ <name>src</name>
+ <description>The source location.</description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <required>true</required>
+ <identifier>true</identifier>
+ </field>
+ <field xml.attribute="true">
+ <name>position</name>
+ <description>Where to place the image relative to the displayed name (left or right).</description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <identifier>true</identifier>
+ <defaultValue>left</defaultValue>
+ </field>
+ <field xml.attribute="true">
+ <name>alt</name>
+ <description>The alternative text to use.</description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <identifier>true</identifier>
+ </field>
+ <field xml.attribute="true">
+ <name>width</name>
+ <description>The width to use.</description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <identifier>true</identifier>
+ </field>
+ <field xml.attribute="true">
+ <name>height</name>
+ <description>The height to use.</description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <identifier>true</identifier>
+ </field>
+ <field xml.attribute="true">
+ <name>style</name>
+ <description>The style to use.</description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <identifier>true</identifier>
+ </field>
+ </fields>
+ </class>
+
<class java.clone="deep">
<name>Skin</name>
<description>A skin artifact declaration.</description>
diff --git a/doxia-site-model/src/test/java/org/apache/maven/doxia/site/inheritance/SiteModelInheritanceAssemblerTest.java b/doxia-site-model/src/test/java/org/apache/maven/doxia/site/inheritance/SiteModelInheritanceAssemblerTest.java
index cbfbf28..fedd624 100644
--- a/doxia-site-model/src/test/java/org/apache/maven/doxia/site/inheritance/SiteModelInheritanceAssemblerTest.java
+++ b/doxia-site-model/src/test/java/org/apache/maven/doxia/site/inheritance/SiteModelInheritanceAssemblerTest.java
@@ -24,6 +24,7 @@ import java.util.List;
import org.apache.maven.doxia.site.Banner;
import org.apache.maven.doxia.site.Body;
+import org.apache.maven.doxia.site.Image;
import org.apache.maven.doxia.site.LinkItem;
import org.apache.maven.doxia.site.Logo;
import org.apache.maven.doxia.site.Menu;
@@ -169,7 +170,7 @@ public class SiteModelInheritanceAssemblerTest {
assertEquals("http://jakarta.apache.org/", childModel.getBannerLeft().getHref(), "check left banner href");
assertEquals(
"http://jakarta.apache.org/images/jakarta-logo.gif",
- childModel.getBannerLeft().getSrc(),
+ childModel.getBannerLeft().getImage().getSrc(),
"check left banner image");
assertEquals(
@@ -178,12 +179,12 @@ public class SiteModelInheritanceAssemblerTest {
"check right banner href");
assertEquals(
"http://jakarta.apache.org/commons/images/logo.png",
- childModel.getBannerRight().getSrc(),
+ childModel.getBannerRight().getImage().getSrc(),
"check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("http://tomcat.apache.org/", poweredBy.getHref(), "check powered by logo href");
- assertEquals("http://tomcat.apache.org/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals("http://tomcat.apache.org/logo.gif", poweredBy.getImage().getSrc(), "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("http://www.apache.org/", breadcrumb.getHref(), "check breadcrumb href");
@@ -221,14 +222,20 @@ public class SiteModelInheritanceAssemblerTest {
private static void assertPathsResolvedForRelativeUrls(final SiteModel childModel) {
assertEquals("../banner/left", childModel.getBannerLeft().getHref(), "check left banner href");
- assertEquals("../images/jakarta-logo.gif", childModel.getBannerLeft().getSrc(), "check left banner image");
+ assertEquals(
+ "../images/jakarta-logo.gif",
+ childModel.getBannerLeft().getImage().getSrc(),
+ "check left banner image");
assertEquals("../banner/right/", childModel.getBannerRight().getHref(), "check right banner href");
- assertEquals("../commons/images/logo.png", childModel.getBannerRight().getSrc(), "check right banner image");
+ assertEquals(
+ "../commons/images/logo.png",
+ childModel.getBannerRight().getImage().getSrc(),
+ "check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("../tomcat", poweredBy.getHref(), "check powered by logo href");
- assertEquals("../tomcat/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals("../tomcat/logo.gif", poweredBy.getImage().getSrc(), "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("../apache", breadcrumb.getHref(), "check breadcrumb href");
@@ -269,14 +276,20 @@ public class SiteModelInheritanceAssemblerTest {
private static void assertPathsResolvedForSubsiteUrls(final SiteModel childModel) {
assertEquals("../banner/left", childModel.getBannerLeft().getHref(), "check left banner href");
- assertEquals("../images/jakarta-logo.gif", childModel.getBannerLeft().getSrc(), "check left banner image");
+ assertEquals(
+ "../images/jakarta-logo.gif",
+ childModel.getBannerLeft().getImage().getSrc(),
+ "check left banner image");
assertEquals("../banner/right/", childModel.getBannerRight().getHref(), "check right banner href");
- assertEquals("../commons/images/logo.png", childModel.getBannerRight().getSrc(), "check right banner image");
+ assertEquals(
+ "../commons/images/logo.png",
+ childModel.getBannerRight().getImage().getSrc(),
+ "check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("../tomcat", poweredBy.getHref(), "check powered by logo href");
- assertEquals("../tomcat/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals("../tomcat/logo.gif", poweredBy.getImage().getSrc(), "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("../apache", breadcrumb.getHref(), "check breadcrumb href");
@@ -314,15 +327,20 @@ public class SiteModelInheritanceAssemblerTest {
private static void assertPathsResolvedForRelativeUrlsDepthOfTwo(final SiteModel childModel) {
assertEquals("../../banner/left", childModel.getBannerLeft().getHref(), "check left banner href");
- assertEquals("../../images/jakarta-logo.gif", childModel.getBannerLeft().getSrc(), "check left banner image");
+ assertEquals(
+ "../../images/jakarta-logo.gif",
+ childModel.getBannerLeft().getImage().getSrc(),
+ "check left banner image");
assertEquals("../../banner/right/", childModel.getBannerRight().getHref(), "check right banner href");
assertEquals(
- "../../commons/images/logo.png", childModel.getBannerRight().getSrc(), "check right banner image");
+ "../../commons/images/logo.png",
+ childModel.getBannerRight().getImage().getSrc(),
+ "check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("../../tomcat", poweredBy.getHref(), "check powered by logo href");
- assertEquals("../../tomcat/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals("../../tomcat/logo.gif", poweredBy.getImage().getSrc(), "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("../../apache", breadcrumb.getHref(), "check breadcrumb href");
@@ -360,15 +378,20 @@ public class SiteModelInheritanceAssemblerTest {
private static void assertPathsResolvedForReverseRelativeUrls(final SiteModel childModel) {
assertEquals("doxia/banner/left", childModel.getBannerLeft().getHref(), "check left banner href");
- assertEquals("doxia/images/jakarta-logo.gif", childModel.getBannerLeft().getSrc(), "check left banner image");
+ assertEquals(
+ "doxia/images/jakarta-logo.gif",
+ childModel.getBannerLeft().getImage().getSrc(),
+ "check left banner image");
assertEquals("doxia/banner/right/", childModel.getBannerRight().getHref(), "check right banner href");
assertEquals(
- "doxia/commons/images/logo.png", childModel.getBannerRight().getSrc(), "check right banner image");
+ "doxia/commons/images/logo.png",
+ childModel.getBannerRight().getImage().getSrc(),
+ "check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("doxia/tomcat", poweredBy.getHref(), "check powered by logo href");
- assertEquals("doxia/tomcat/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals("doxia/tomcat/logo.gif", poweredBy.getImage().getSrc(), "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("doxia/apache", breadcrumb.getHref(), "check breadcrumb href");
@@ -407,17 +430,19 @@ public class SiteModelInheritanceAssemblerTest {
private static void assertPathsResolvedForReverseRelativeUrlsDepthOfTwo(final SiteModel childModel) {
assertEquals("doxia/core/banner/left", childModel.getBannerLeft().getHref(), "check left banner href");
assertEquals(
- "doxia/core/images/jakarta-logo.gif", childModel.getBannerLeft().getSrc(), "check left banner image");
+ "doxia/core/images/jakarta-logo.gif",
+ childModel.getBannerLeft().getImage().getSrc(),
+ "check left banner image");
assertEquals("doxia/core/banner/right/", childModel.getBannerRight().getHref(), "check right banner href");
assertEquals(
"doxia/core/commons/images/logo.png",
- childModel.getBannerRight().getSrc(),
+ childModel.getBannerRight().getImage().getSrc(),
"check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("doxia/core/tomcat", poweredBy.getHref(), "check powered by logo href");
- assertEquals("doxia/core/tomcat/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals("doxia/core/tomcat/logo.gif", poweredBy.getImage().getSrc(), "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("doxia/core/apache", breadcrumb.getHref(), "check breadcrumb href");
@@ -460,7 +485,7 @@ public class SiteModelInheritanceAssemblerTest {
"check left banner href");
assertEquals(
"http://jakarta.apache.org/images/jakarta-logo.gif",
- childModel.getBannerLeft().getSrc(),
+ childModel.getBannerLeft().getImage().getSrc(),
"check left banner image");
assertEquals(
@@ -469,12 +494,15 @@ public class SiteModelInheritanceAssemblerTest {
"check right banner href");
assertEquals(
"http://jakarta.apache.org/commons/images/logo.png",
- childModel.getBannerRight().getSrc(),
+ childModel.getBannerRight().getImage().getSrc(),
"check right banner image");
Logo poweredBy = childModel.getPoweredBy().get(0);
assertEquals("http://jakarta.apache.org/tomcat", poweredBy.getHref(), "check powered by logo href");
- assertEquals("http://jakarta.apache.org/tomcat/logo.gif", poweredBy.getImg(), "check powered by logo image");
+ assertEquals(
+ "http://jakarta.apache.org/tomcat/logo.gif",
+ poweredBy.getImage().getSrc(),
+ "check powered by logo image");
LinkItem breadcrumb = childModel.getBody().getBreadcrumbs().get(0);
assertEquals("http://jakarta.apache.org/apache", breadcrumb.getHref(), "check breadcrumb href");
@@ -877,16 +905,20 @@ public class SiteModelInheritanceAssemblerTest {
Banner banner = new Banner();
banner.setName(name);
banner.setHref(href);
- banner.setSrc(src);
- banner.setAlt(alt);
+ Image image = new Image();
+ image.setSrc(src);
+ image.setAlt(alt);
+ banner.setImage(image);
return banner;
}
- private Logo createLogo(String name, String href, String img) {
+ private Logo createLogo(String name, String href, String src) {
Logo logo = new Logo();
- logo.setHref(href);
- logo.setImg(img);
logo.setName(name);
+ logo.setHref(href);
+ Image image = new Image();
+ image.setSrc(src);
+ logo.setImage(image);
return logo;
}
diff --git a/doxia-site-model/src/test/resources/empty.xml b/doxia-site-model/src/test/resources/empty.xml
index 182b9dd..02563f9 100644
--- a/doxia-site-model/src/test/resources/empty.xml
+++ b/doxia-site-model/src/test/resources/empty.xml
@@ -19,8 +19,8 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Empty">
-</project>
\ No newline at end of file
+</site>
diff --git a/doxia-site-model/src/test/resources/external-urls.xml b/doxia-site-model/src/test/resources/external-urls.xml
index 0791a96..841c4df 100644
--- a/doxia-site-model/src/test/resources/external-urls.xml
+++ b/doxia-site-model/src/test/resources/external-urls.xml
@@ -19,23 +19,21 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>http://jakarta.apache.org/images/jakarta-logo.gif</src>
- <href>http://jakarta.apache.org/</href>
+ <bannerLeft name="The Jakarta Project" href="http://jakarta.apache.org/">
+ <image src="http://jakarta.apache.org/images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>http://jakarta.apache.org/commons/images/logo.png</src>
- <href>http://jakarta.apache.org/commons/sandbox</href>
+ <bannerRight name="Jakarta Commons Sandbox" href="http://jakarta.apache.org/commons/sandbox">
+ <image src="http://jakarta.apache.org/commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Tomcat" href="http://tomcat.apache.org/" img="http://tomcat.apache.org/logo.gif"/>
+ <logo name="Tomcat" href="http://tomcat.apache.org/">
+ <image src="http://tomcat.apache.org/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -51,4 +49,4 @@ under the License.
<item name="Special" href="http://www.apache.org/special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/fully-populated-child.xml b/doxia-site-model/src/test/resources/fully-populated-child.xml
index 09208b7..fcae863 100644
--- a/doxia-site-model/src/test/resources/fully-populated-child.xml
+++ b/doxia-site-model/src/test/resources/fully-populated-child.xml
@@ -19,26 +19,24 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Child">
- <bannerLeft>
- <name>name</name>
- <src>src</src>
- <href>href</href>
+ <bannerLeft name="name" href="href">
+ <image src="src" />
</bannerLeft>
- <bannerRight>
- <name>name</name>
- <src>src</src>
- <href>href</href>
+ <bannerRight name="name" href="href">
+ <image src="src" />
</bannerRight>
<publishDate format="fmt" position="top"/>
<version position="right" />
<poweredBy>
- <logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/maven-feather.png"/>
+ <logo name="Maven" href="http://maven.apache.org">
+ <image src="http://maven.apache.org/images/maven-feather.png" />
+ </logo>
</poweredBy>
<skin>
@@ -66,4 +64,4 @@ under the License.
<custom>
<junk>junk</junk>
</custom>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/fully-populated-merged.xml b/doxia-site-model/src/test/resources/fully-populated-merged.xml
index 47e6858..f26ba15 100644
--- a/doxia-site-model/src/test/resources/fully-populated-merged.xml
+++ b/doxia-site-model/src/test/resources/fully-populated-merged.xml
@@ -19,26 +19,24 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Empty">
- <bannerLeft>
- <name>name</name>
- <src>../src</src>
- <href>../href</href>
+ <bannerLeft name="name" href="../href">
+ <image src="../src" />
</bannerLeft>
- <bannerRight>
- <name>name</name>
- <src>../src</src>
- <href>../href</href>
+ <bannerRight name="name" href="../href">
+ <image src="../src" />
</bannerRight>
<publishDate format="fmt" position="top"/>
<version position="right" />
<poweredBy>
- <logo name="Maven" href=".." img="../images/maven-feather.png"/>
+ <logo name="Maven" href="..">
+ <image src="../images/maven-feather.png" />
+ </logo>
</poweredBy>
<skin>
@@ -61,4 +59,4 @@ under the License.
<custom>
<junk>junk</junk>
</custom>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/fully-populated-unresolved.xml b/doxia-site-model/src/test/resources/fully-populated-unresolved.xml
index 0f9c66d..9094cbb 100644
--- a/doxia-site-model/src/test/resources/fully-populated-unresolved.xml
+++ b/doxia-site-model/src/test/resources/fully-populated-unresolved.xml
@@ -19,26 +19,24 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Empty">
- <bannerLeft>
- <name>name</name>
- <src>../src</src>
- <href>../href</href>
+ <bannerLeft name="name" href="../href">
+ <image src="../src" />
</bannerLeft>
- <bannerRight>
- <name>name</name>
- <src>../src</src>
- <href>../href</href>
+ <bannerRight name="name" href="../href">
+ <image src="../src" />
</bannerRight>
<publishDate format="fmt" position="top"/>
<version position="right" />
<poweredBy>
- <logo name="Maven" href="http://maven.apache.org" img="http://maven.apache.org/images/maven-feather.png"/>
+ <logo name="Maven" href="http://maven.apache.org">
+ <image src="http://maven.apache.org/images/maven-feather.png" />
+ </logo>
</poweredBy>
<skin>
@@ -61,4 +59,4 @@ under the License.
<custom>
<junk>junk</junk>
</custom>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml b/doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml
index 64c545c..83eeda5 100644
--- a/doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml
+++ b/doxia-site-model/src/test/resources/inheritance-child-no-inheritance.xml
@@ -19,9 +19,9 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.6.0"
+<site xmlns="http://maven.apache.org/DECORATION/1.6.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.6.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.6.0.xsd"
name="Child No Inheritance"
combine.self="override">
<body>
@@ -35,4 +35,4 @@ under the License.
</menu>
</body>
-</project>
\ No newline at end of file
+</site>
\ No newline at end of file
diff --git a/doxia-site-model/src/test/resources/inheritance-child.xml b/doxia-site-model/src/test/resources/inheritance-child.xml
index 30482a8..55db3e4 100644
--- a/doxia-site-model/src/test/resources/inheritance-child.xml
+++ b/doxia-site-model/src/test/resources/inheritance-child.xml
@@ -19,9 +19,9 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Child">
<body>
<links>
@@ -34,4 +34,4 @@ under the License.
</menu>
</body>
-</project>
\ No newline at end of file
+</site>
\ No newline at end of file
diff --git a/doxia-site-model/src/test/resources/inheritance-expected.xml b/doxia-site-model/src/test/resources/inheritance-expected.xml
index 355e775..2f30d4a 100644
--- a/doxia-site-model/src/test/resources/inheritance-expected.xml
+++ b/doxia-site-model/src/test/resources/inheritance-expected.xml
@@ -19,21 +19,18 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.8.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 file:../../../target/generated-site/xsd/decoration-1.8.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Child">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <href>http://jakarta.apache.org/</href>
- </bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>http://jakarta.apache.org/commons/images/logo.png</src>
- <href>http://jakarta.apache.org/commons/sandbox</href>
+ <bannerLeft name="The Jakarta Project" href="http://jakarta.apache.org/" />
+ <bannerRight name="Jakarta Commons Sandbox" href="http://jakarta.apache.org/commons/sandbox">
+ <image src="http://jakarta.apache.org/commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Maven" href="http://maven.apache.org" img="../images/maven-feather.png"/>
+ <logo name="Maven" href="http://maven.apache.org">
+ <image src="../images/maven-feather.png" />
+ </logo>
</poweredBy>
<skin>
<groupId>org.apache.maven.skins</groupId>
@@ -66,4 +63,4 @@ under the License.
<item name="Copyright" href="../copyrightParent.html"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/inheritance-parent.xml b/doxia-site-model/src/test/resources/inheritance-parent.xml
index 8965e2b..019d859 100644
--- a/doxia-site-model/src/test/resources/inheritance-parent.xml
+++ b/doxia-site-model/src/test/resources/inheritance-parent.xml
@@ -19,21 +19,18 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.8.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 file:../../../target/generated-site/xsd/decoration-1.8.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <href>http://jakarta.apache.org/</href>
- </bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>http://jakarta.apache.org/commons/images/logo.png</src>
- <href>http://jakarta.apache.org/commons/sandbox</href>
+ <bannerLeft name="The Jakarta Project" href="http://jakarta.apache.org/" />
+ <bannerRight name="Jakarta Commons Sandbox" href="http://jakarta.apache.org/commons/sandbox">
+ <image src="http://jakarta.apache.org/commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Maven" href="http://maven.apache.org" img="images/maven-feather.png"/>
+ <logo name="Maven" href="http://maven.apache.org">
+ <image src="images/maven-feather.png" />
+ </logo>
</poweredBy>
<skin>
<groupId>org.apache.maven.skins</groupId>
@@ -61,4 +58,4 @@ under the License.
<item name="Copyright" href="/copyrightParent.html"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/relative-urls-resolved.xml b/doxia-site-model/src/test/resources/relative-urls-resolved.xml
index 5493373..c9e7617 100644
--- a/doxia-site-model/src/test/resources/relative-urls-resolved.xml
+++ b/doxia-site-model/src/test/resources/relative-urls-resolved.xml
@@ -19,23 +19,21 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>images/jakarta-logo.gif</src>
- <href>banner/left</href>
+ <bannerLeft name="The Jakarta Project" href="banner/left">
+ <image src="images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>commons/images/logo.png</src>
- <href>banner/right/</href>
+ <bannerRight name="Jakarta Commons Sandbox" href="banner/right/">
+ <image src="commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Tomcat" href="tomcat" img="tomcat/logo.gif"/>
+ <logo name="Tomcat" href="tomcat">
+ <image src="tomcat/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -50,4 +48,4 @@ under the License.
<item name="Special" href="special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/relative-urls.xml b/doxia-site-model/src/test/resources/relative-urls.xml
index 8353486..92097f4 100644
--- a/doxia-site-model/src/test/resources/relative-urls.xml
+++ b/doxia-site-model/src/test/resources/relative-urls.xml
@@ -19,23 +19,21 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>/images/jakarta-logo.gif</src>
- <href>banner/left</href>
+ <bannerLeft name="The Jakarta Project" href="banner/left">
+ <image src="images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>commons/images/logo.png</src>
- <href>/banner/right/</href>
+ <bannerRight name="Jakarta Commons Sandbox" href="/banner/right/">
+ <image src="commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Tomcat" href="tomcat" img="tomcat/logo.gif"/>
+ <logo name="Tomcat" href="tomcat">
+ <image src="tomcat/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -50,4 +48,4 @@ under the License.
<item name="Special" href="/special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/subsite-relative-urls-multiple-resolved.xml b/doxia-site-model/src/test/resources/subsite-relative-urls-multiple-resolved.xml
index 71b50e4..f021a61 100644
--- a/doxia-site-model/src/test/resources/subsite-relative-urls-multiple-resolved.xml
+++ b/doxia-site-model/src/test/resources/subsite-relative-urls-multiple-resolved.xml
@@ -19,23 +19,21 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>../../images/jakarta-logo.gif</src>
- <href>../left</href>
+ <bannerLeft name="The Jakarta Project" href="../left">
+ <image src="../../images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>../../commons/images/logo.png</src>
- <href></href>
+ <bannerRight name="Jakarta Commons Sandbox" href="">
+ <image src="../../commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Tomcat" href="../../tomcat" img="../../tomcat/logo.gif"/>
+ <logo name="Tomcat" href="../../tomcat">
+ <image src="../../tomcat/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -50,4 +48,4 @@ under the License.
<item name="Special" href="../../special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/subsite-relative-urls-resolved.xml b/doxia-site-model/src/test/resources/subsite-relative-urls-resolved.xml
index 68d894d..6c0a13e 100644
--- a/doxia-site-model/src/test/resources/subsite-relative-urls-resolved.xml
+++ b/doxia-site-model/src/test/resources/subsite-relative-urls-resolved.xml
@@ -19,23 +19,21 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>../images/jakarta-logo.gif</src>
- <href>../banner/left</href>
+ <bannerLeft name="The Jakarta Project" href="../banner/left">
+ <image src="../images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>../commons/images/logo.png</src>
- <href>../banner/right/</href>
+ <bannerRight name="Jakarta Commons Sandbox" href="../banner/right/">
+ <image src="../commons/images/logo.png" />
</bannerRight>
<poweredBy>
- <logo name="Tomcat" href="../tomcat" img="../tomcat/logo.gif"/>
+ <logo name="Tomcat" href="../tomcat">
+ <image src="../tomcat/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -50,4 +48,4 @@ under the License.
<item name="Special" href="../special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/subsite-urls-file.xml b/doxia-site-model/src/test/resources/subsite-urls-file.xml
index de3c78a..811c8c8 100644
--- a/doxia-site-model/src/test/resources/subsite-urls-file.xml
+++ b/doxia-site-model/src/test/resources/subsite-urls-file.xml
@@ -19,23 +19,22 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>file:///www/maven.apache.org/images/jakarta-logo.gif</src>
- <href>file:///www/maven.apache.org/banner/left</href>
+ <bannerLeft name="The Jakarta Project" href="file:///www/maven.apache.org/banner/left">
+ <image src="file:///www/maven.apache.org/images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>file:///www/maven.apache.org/commons/images/logo.png</src>
- <href>file:///www/maven.apache.org/banner/right/</href>
+ <bannerRight name="Jakarta Commons Sandbox" href="file:///www/maven.apache.org/banner/right/">
+ <image src="file:///www/maven.apache.org/commons/images/logo.png" />
</bannerRight>
+
<poweredBy>
- <logo name="Tomcat" href="tomcat" img="file:///www/maven.apache.org/tomcat/logo.gif"/>
+ <logo name="Tomcat" href="tomcat">
+ <image src="file:///www/maven.apache.org/tomcat/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -50,4 +49,4 @@ under the License.
<item name="Special" href="file:///www/maven.apache.org/special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-model/src/test/resources/subsite-urls.xml b/doxia-site-model/src/test/resources/subsite-urls.xml
index 5452755..f8f30fe 100644
--- a/doxia-site-model/src/test/resources/subsite-urls.xml
+++ b/doxia-site-model/src/test/resources/subsite-urls.xml
@@ -19,23 +19,22 @@ specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Parent Name">
- <bannerLeft>
- <name>The Jakarta Project</name>
- <src>http://maven.apache.org/images/jakarta-logo.gif</src>
- <href>http://maven.apache.org/banner/left</href>
+ <bannerLeft name="The Jakarta Project" href="http://maven.apache.org/banner/left">
+ <image src="http://maven.apache.org/images/jakarta-logo.gif" />
</bannerLeft>
- <bannerRight>
- <name>Jakarta Commons Sandbox</name>
- <src>http://maven.apache.org/commons/images/logo.png</src>
- <href>http://maven.apache.org/banner/right/</href>
+ <bannerRight name="Jakarta Commons Sandbox" href="http://maven.apache.org/banner/right/">
+ <image src="http://maven.apache.org/commons/images/logo.png" />
</bannerRight>
+
<poweredBy>
- <logo name="Tomcat" href="tomcat" img="http://maven.apache.org/tomcat/logo.gif"/>
+ <logo name="Tomcat" href="tomcat">
+ <image src="http://maven.apache.org/tomcat/logo.gif" />
+ </logo>
</poweredBy>
<body>
@@ -50,4 +49,4 @@ under the License.
<item name="Special" href="http://maven.apache.org/special/"/>
</menu>
</body>
-</project>
+</site>
diff --git a/doxia-site-renderer/src/test/resources/site/site.xml b/doxia-site-renderer/src/test/resources/site/site.xml
index d18c154..f154b72 100644
--- a/doxia-site-renderer/src/test/resources/site/site.xml
+++ b/doxia-site-renderer/src/test/resources/site/site.xml
@@ -22,19 +22,20 @@ under the License.
<!-- A test snippet... -->
<!-- END SNIPPET: macrotest -->
-<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<site xmlns="http://maven.apache.org/SITE/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 file:../../../../../doxia-decoration-model/target/generated-site/xsd/decoration-1.0.0.xsd"
+ xsi:schemaLocation="http://maven.apache.org/SITE/2.0.0 file:../../../target/generated-site/xsd/site-2.0.0.xsd"
name="Plexus">
- <bannerLeft>
- <name>Plexus</name>
- <src>http://plexus.codehaus.org/images/plexus-logo.png</src>
- <href>http://plexus.codehaus.org</href>
+ <bannerLeft name="Plexus" href="http://plexus.codehaus.org">
+ <image src="http://plexus.codehaus.org/images/plexus-logo.png" />
</bannerLeft>
- <bannerRight>
- <src>http://media.codehaus.org/images/unity-codehaus-logo.png</src>
- <href>http://www.codehaus.org</href>
+ <bannerRight href="http://www.codehaus.org">
+ <image src="http://media.codehaus.org/images/unity-codehaus-logo.png" />
</bannerRight>
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ </skin>
<body>
<links>
<item name="Plexus" href="http://plexus.codehaus.org"/>
@@ -54,4 +55,4 @@ under the License.
</item>
</menu>
</body>
-</project>
+</site>