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 2022/07/22 17:23:21 UTC
[maven-doxia] branch remove-xhtml updated: Ping..
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch remove-xhtml
in repository https://gitbox.apache.org/repos/asf/maven-doxia.git
The following commit(s) were added to refs/heads/remove-xhtml by this push:
new df7e4922 Ping..
df7e4922 is described below
commit df7e492223f249f769b1bac119a5855c141ec834
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Fri Jul 22 00:24:47 2022 +0200
Ping..
---
.../apache/maven/doxia/macro/AbstractMacro.java | 20 -
.../org/apache/maven/doxia/macro/MacroRequest.java | 6 +-
.../module/ParserModuleNotFoundException.java | 2 +
.../maven/doxia/sink/impl/XhtmlBaseSinkTest.java | 1181 --------------------
doxia-modules/doxia-module-xhtml/pom.xml | 84 --
.../doxia/module/xhtml/AbstractXhtmlSink.java | 34 -
.../maven/doxia/module/xhtml/XhtmlMarkup.java | 46 -
.../maven/doxia/module/xhtml/XhtmlParser.java | 366 ------
.../doxia/module/xhtml/XhtmlParserModule.java | 45 -
.../apache/maven/doxia/module/xhtml/XhtmlSink.java | 278 -----
.../maven/doxia/module/xhtml/XhtmlSinkFactory.java | 53 -
doxia-modules/doxia-module-xhtml/src/site/site.xml | 43 -
.../doxia/module/xhtml/XhtmlIdentityTest.java | 87 --
.../maven/doxia/module/xhtml/XhtmlParserTest.java | 210 ----
.../maven/doxia/module/xhtml/XhtmlSinkTest.java | 462 --------
.../module/xhtml/XhtmlSinkWithLanguageIdTest.java | 48 -
.../src/test/resources/download.apt.vm | 79 --
.../src/test/resources/file.with.dot.in.name.xml | 20 -
.../doxia-module-xhtml/src/test/resources/fun.html | 66 --
.../src/test/resources/index.xml.vm | 231 ----
.../src/test/resources/test.xhtml4 | 152 ---
.../src/test/resources/download.apt.vm | 2 +-
pom.xml | 8 +-
23 files changed, 7 insertions(+), 3516 deletions(-)
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/macro/AbstractMacro.java b/doxia-core/src/main/java/org/apache/maven/doxia/macro/AbstractMacro.java
index fc591620..22d7a5e1 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/macro/AbstractMacro.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/macro/AbstractMacro.java
@@ -21,10 +21,8 @@ package org.apache.maven.doxia.macro;
import java.util.Map;
-import org.apache.commons.lang3.Validate;
import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
-import org.codehaus.plexus.util.StringUtils;
/**
* Abstract base class to execute <code>Macro</code>.
@@ -35,24 +33,6 @@ import org.codehaus.plexus.util.StringUtils;
public abstract class AbstractMacro
implements Macro
{
- /**
- * Check if the given parameter is required. Throws an
- * IllegalArgumentException if paramValue is null or empty.
- *
- * @param paramName The name of the parameter to check.
- * @param paramValue The parameter value.
- * @since 1.1
- * @deprecated Not used, use {@link Validate}
- */
- @Deprecated
- protected void required( String paramName, String paramValue )
- {
- if ( StringUtils.isEmpty( paramValue ) )
- {
- throw new IllegalArgumentException( paramName + " is a required parameter!" );
- }
- }
-
/**
* Convert the Map of macro parameters to an AttributeSet.
* No check of validity is done, all parameters are added.
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java b/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java
index 4544f694..53255ad0 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/macro/MacroRequest.java
@@ -49,12 +49,12 @@ public class MacroRequest
* @param sourceContent a {@link java.lang.String} object.
* @param parser a {@link org.apache.maven.doxia.parser.AbstractParser} object.
* @param param a {@link java.util.Map} object.
- * @param base a {@link java.io.File} object.
+ * @param basedir a {@link java.io.File} object.
*/
- public MacroRequest( String sourceContent, AbstractParser parser, Map<String, Object> param, File base )
+ public MacroRequest( String sourceContent, AbstractParser parser, Map<String, Object> param, File basedir )
{
this.parameters = param;
- this.basedir = base;
+ this.basedir = basedir;
param.put( PARAM_SOURCE_CONTENT, sourceContent );
parser.setSecondParsing( true );
param.put( PARAM_PARSER, parser );
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/ParserModuleNotFoundException.java b/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/ParserModuleNotFoundException.java
index 758b97a3..ec541197 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/ParserModuleNotFoundException.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/parser/module/ParserModuleNotFoundException.java
@@ -28,6 +28,8 @@ package org.apache.maven.doxia.parser.module;
public class ParserModuleNotFoundException
extends Exception
{
+ private static final long serialVersionUID = 8717077929507984309L;
+
/**
* Construct a new ParserModuleNotFoundException with the
* specified detail message.
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSinkTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSinkTest.java
deleted file mode 100644
index ece60a56..00000000
--- a/doxia-core/src/test/java/org/apache/maven/doxia/sink/impl/XhtmlBaseSinkTest.java
+++ /dev/null
@@ -1,1181 +0,0 @@
-package org.apache.maven.doxia.sink.impl;
-
-/*
- * 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.
- */
-
-import java.io.StringWriter;
-import java.io.Writer;
-
-import javax.swing.text.html.HTML.Attribute;
-
-import org.apache.maven.doxia.markup.Markup;
-import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.SinkEventAttributes;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-/**
- * Test for XhtmlBaseSink.
- *
- * @author ltheussl
- * @since 1.1
- */
-@Deprecated
-public class XhtmlBaseSinkTest
-{
- protected static final String LS = Markup.EOL;
- private final SinkEventAttributes attributes = SinkEventAttributeSet.BOLD;
- private XhtmlBaseSink sink;
- private Writer writer;
-
- String EOL = System.lineSeparator();
-
- @BeforeEach
- public void setUp()
- {
- writer = new StringWriter();
- }
-
- @Test
- public void testSpaceAfterClosingTag()
- {
- // DOXIA-189
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.paragraph();
- sink.text( "There should be no space before the " );
- sink.inline( SinkEventAttributeSet.Semantics.ITALIC );
- sink.text( "period" );
- sink.inline_();
- sink.text( "." );
- sink.paragraph_();
- }
- finally
- {
- if ( sink != null )
- {
- sink.close();
- }
- }
-
- String actual = writer.toString();
- String expected = "<p>There should be no space before the <i>period</i>.</p>";
-
- assertEquals( expected, actual );
- }
-
- /**
- */
- @Test
- public void testNestedTables()
- {
- // DOXIA-177
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.table();
- sink.tableRows( new int[] { Sink.JUSTIFY_CENTER, Sink.JUSTIFY_LEFT }, false );
- sink.tableRow();
- sink.tableCell();
- sink.text( "cell11" );
- sink.tableCell_();
- sink.tableCell();
- sink.text( "cell12" );
- sink.tableCell_();
- sink.tableRow_();
-
- sink.tableRow();
- sink.tableCell();
- sink.table( SinkEventAttributeSet.LEFT );
- sink.tableRows( new int[] { Sink.JUSTIFY_LEFT, Sink.JUSTIFY_RIGHT }, false );
- sink.tableRow();
- sink.tableCell();
- sink.text( "nestedTable1Cell11" );
- sink.tableCell_();
- sink.tableCell();
- sink.text( "nestedTable1Cell12" );
- sink.tableCell_();
- sink.tableRow_();
- sink.tableRow();
- sink.tableCell();
-
- sink.table( SinkEventAttributeSet.RIGHT );
- sink.tableRows( new int[] { Sink.JUSTIFY_RIGHT, Sink.JUSTIFY_CENTER }, false );
- sink.tableRow();
- sink.tableCell();
- sink.text( "nestedTable2Cell11" );
- sink.tableCell_();
- sink.tableCell();
- sink.text( "nestedTable2Cell12" );
- sink.tableCell_();
- sink.tableRow_();
- sink.tableRow();
- sink.tableCell();
- sink.text( "nestedTable2Cell21" );
- sink.tableCell_();
- sink.tableCell();
- sink.text( "nestedTable2Cell22" );
- sink.tableCell_();
- sink.tableRow_();
- sink.tableRows_();
- sink.tableCaption();
- sink.text( "caption3" );
- sink.tableCaption_();
- sink.table_();
-
- sink.tableCell_();
- sink.tableCell();
- sink.text( "nestedTable1Cell22" );
- sink.tableCell_();
- sink.tableRow_();
- sink.tableRows_();
- sink.tableCaption();
- sink.text( "caption2" );
- sink.tableCaption_();
- sink.table_();
-
- sink.tableCell_();
- sink.tableCell();
- sink.text( "cell22" );
- sink.tableCell_();
- sink.tableRow_();
- sink.tableRows_();
- sink.tableCaption();
- sink.text( "caption&1" );
- sink.tableCaption_();
- sink.table_();
- }
- finally
- {
- sink.close();
- }
-
- String actual = writer.toString();
- assertTrue(
- actual.contains( "<table border=\"0\" class=\"bodyTable\">" + "<caption>caption&1</caption>" ) );
- assertTrue( actual.contains(
- "<table border=\"0\" class=\"bodyTable\" align=\"left\">" + "<caption>caption2</caption>" ) );
- assertTrue( actual.contains(
- "<table border=\"0\" class=\"bodyTable\" align=\"right\">" + "<caption>caption3</caption>" ) );
-
- assertTrue( actual.contains( "<td align=\"center\">cell11</td>" ) );
- assertTrue( actual.contains( "<td align=\"right\">nestedTable2Cell11</td>" ) );
- assertTrue( actual.contains( "<td align=\"right\">nestedTable1Cell22</td>" ) );
- assertTrue( actual.contains( "<td align=\"left\">cell22</td>" ) );
- }
-
- /**
- * Test of section method, of class XhtmlBaseSink.
- */
- @Test
- public void testSection()
- {
- final int level = XhtmlBaseSink.SECTION_LEVEL_1;
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section( level, attributes );
- sink.sectionTitle( level, attributes );
- sink.sectionTitle_( level );
- sink.section_( level );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\" style=\"bold\">" + LS + "<h1 style=\"bold\"></h1></div>",
- writer.toString() );
- }
-
- /**
- * Test of section method, of class XhtmlBaseSink.
- */
- @Test
- public void testSectionAttributes()
- {
- final int level = XhtmlBaseSink.SECTION_LEVEL_1;
- final SinkEventAttributeSet set = new SinkEventAttributeSet( "name", "section name", "class", "foo", "id",
- "bar" );
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section( level, set );
- sink.sectionTitle( level, null );
- sink.sectionTitle_( level );
- sink.section_( level );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"foo\" id=\"bar\">" + LS + "<h1></h1></div>", writer.toString() );
- }
-
- /**
- * Test of section1 method, of class XhtmlBaseSink.
- */
- @Test
- public void testSection1()
- {
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section1();
- sink.sectionTitle1();
- sink.sectionTitle1_();
- sink.section1_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\">" + LS + "<h1></h1></div>", writer.toString() );
- }
-
- /**
- * Test of section2 method, of class XhtmlBaseSink.
- */
- @Test
- public void testSection2()
- {
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section2();
- sink.sectionTitle2();
- sink.sectionTitle2_();
- sink.section2_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\">" + LS + "<h2></h2></div>", writer.toString() );
- }
-
- /**
- * Test of section3 method, of class XhtmlBaseSink.
- */
- @Test
- public void testSection3()
- {
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section3();
- sink.sectionTitle3();
- sink.sectionTitle3_();
- sink.section3_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\">" + LS + "<h3></h3></div>", writer.toString() );
- }
-
- /**
- * Test of section4 method, of class XhtmlBaseSink.
- */
- @Test
- public void testSection4()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section4();
- sink.sectionTitle4();
- sink.sectionTitle4_();
- sink.section4_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\">" + LS + "<h4></h4></div>", writer.toString() );
- }
-
- /**
- * Test of section5 method, of class XhtmlBaseSink.
- */
- @Test
- public void testSection5()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.section5();
- sink.sectionTitle5();
- sink.sectionTitle5_();
- sink.section5_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\">" + LS + "<h5></h5></div>", writer.toString() );
- }
-
- /**
- * Test of list method, of class XhtmlBaseSink.
- */
- @Test
- public void testList()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.list();
- sink.listItem();
- sink.listItem_();
- sink.list_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<ul>" + LS + "<li></li></ul>", writer.toString() );
-
- writer = new StringWriter();
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.list( attributes );
- sink.listItem( attributes );
- sink.listItem_();
- sink.list_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<ul style=\"bold\">" + LS + "<li style=\"bold\"></li></ul>", writer.toString() );
- }
-
- /**
- * Test of numberedList method, of class XhtmlBaseSink.
- */
- @Test
- public void testNumberedList()
- {
- final int numbering = XhtmlBaseSink.NUMBERING_DECIMAL;
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.numberedList( numbering );
- sink.numberedListItem();
- sink.numberedListItem_();
- sink.numberedList_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<ol style=\"list-style-type: decimal\">" + LS + "<li></li></ol>", writer.toString() );
-
- writer = new StringWriter();
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.numberedList( numbering, attributes );
- sink.numberedListItem( attributes );
- sink.numberedListItem_();
- sink.numberedList_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<ol style=\"list-style-type: decimal\">" + LS + "<li style=\"bold\"></li></ol>",
- writer.toString() );
- }
-
- /**
- * Test of definitionList method, of class XhtmlBaseSink.
- */
- @Test
- public void testDefinitionList()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.definitionList();
- sink.definedTerm();
- sink.definedTerm_();
- sink.definition();
- sink.definition_();
- sink.definitionList_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<dl>" + LS + "<dt></dt>" + LS + "<dd></dd></dl>", writer.toString() );
-
- writer = new StringWriter();
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.definitionList( attributes );
- sink.definedTerm( attributes );
- sink.definedTerm_();
- sink.definition( attributes );
- sink.definition_();
- sink.definitionList_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals(
- "<dl style=\"bold\">" + LS + "<dt style=\"bold\"></dt>" + LS + "<dd style=\"bold\"></dd></dl>",
- writer.toString() );
- }
-
- /**
- * Test of figure method, of class XhtmlBaseSink.
- */
- @Test
- public void testFigure()
- {
- final String src = "src.jpg";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.figure( attributes );
- sink.figureGraphics( src, attributes );
- sink.figureCaption( attributes );
- sink.figureCaption_();
- sink.figure_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals(
- "<div style=\"bold\" class=\"figure\">" + "" + LS + "<p align=\"center\"><img src=\"src.jpg\" style=\"bold\" alt=\"\" /></p>" + "" + LS + "<p align=\"center\" style=\"bold\"><i></i></p></div>",
- writer.toString() );
- }
-
- /**
- * Test of figureGraphics method, of class XhtmlBaseSink.
- */
- @Test
- public void testFigureGraphics()
- {
- String src = "source.png";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.figureGraphics( src, attributes );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<img src=\"source.png\" style=\"bold\" alt=\"\" />", writer.toString() );
- }
-
- /**
- * Test of paragraph method, of class XhtmlBaseSink.
- */
- @Test
- public void testParagraph()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.paragraph();
- sink.paragraph_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<p></p>", writer.toString() );
-
- writer = new StringWriter();
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.paragraph( attributes );
- sink.paragraph_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<p style=\"bold\"></p>", writer.toString() );
- }
-
- /**
- * Test of verbatim method, of class XhtmlBaseSink.
- */
- @Test
- public void testVerbatim()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.verbatim( SinkEventAttributeSet.BOXED );
- sink.verbatim_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"source\">" + LS + "<pre></pre></div>", writer.toString() );
-
- checkVerbatimAttributes( attributes, "<div>" + LS + "<pre style=\"bold\"></pre></div>" );
-
- final SinkEventAttributes att =
- new SinkEventAttributeSet( SinkEventAttributes.ID, "id" );
- checkVerbatimAttributes( att, "<div>" + LS + "<pre id=\"id\"></pre></div>" );
-
- att.addAttribute( Attribute.CLASS, "class" );
- checkVerbatimAttributes( att, "<div>" + LS + "<pre id=\"id\" class=\"class\"></pre></div>" );
-
- att.addAttribute( SinkEventAttributes.DECORATION, "boxed" );
- checkVerbatimAttributes( att, "<div class=\"source\">" + LS + "<pre id=\"id\" class=\"class\"></pre></div>" );
-
- att.removeAttribute( Attribute.CLASS.toString() );
- checkVerbatimAttributes( att, "<div class=\"source\">" + LS + "<pre id=\"id\"></pre></div>" );
- }
-
- private void checkVerbatimAttributes( final SinkEventAttributes att, final String expected )
- {
-
- writer = new StringWriter();
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.verbatim( att );
- sink.verbatim_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( expected, writer.toString() );
- }
-
- /**
- * Test of horizontalRule method, of class XhtmlBaseSink.
- */
- @Test
- public void testHorizontalRule()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.horizontalRule();
- sink.horizontalRule( attributes );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<hr /><hr style=\"bold\" />", writer.toString() );
- }
-
- /**
- * Test of table method, of class XhtmlBaseSink.
- */
- @Test
- public void testTable()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.table( attributes );
- sink.table_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "</table>", writer.toString() );
- }
-
- /**
- * Test of tableRows method, of class XhtmlBaseSink.
- */
- @Test
- public void testTableRows()
- {
- final int[] justification = null;
- final boolean grid = false;
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.tableRows( justification, grid );
- sink.tableRows_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<table border=\"0\" class=\"bodyTable\">", writer.toString() );
- }
-
- /**
- * Test of tableRow method, of class XhtmlBaseSink.
- */
- @Test
- public void testTableRow()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.tableRows( null, false );
- sink.tableRow( attributes );
- sink.tableRow_();
- sink.tableRow();
- sink.tableRow_();
- sink.tableRows_();
- sink.table_();
- }
- finally
- {
- sink.close();
- }
-
- String xmlExpected = "<table border=\"0\" class=\"bodyTable\">" + EOL + "<tr style=\"bold\" class=\"a\"></tr>"
- + EOL + "<tr class=\"b\"></tr></table>";
-
- assertEquals( xmlExpected, writer.toString() );
- }
-
- /**
- * Test striping for hidden rows in tableRow method.
- */
- @Test
- public void testHiddenTableRowStriping()
- {
- try
- {
- SinkEventAttributeSet attributes2 = new SinkEventAttributeSet();
- SinkEventAttributeSet attributes3 = new SinkEventAttributeSet();
- attributes3.addAttributes( attributes );
- sink = new XhtmlBaseSink( writer );
-
- sink.tableRow();
- sink.tableRow_();
- sink.tableRow( attributes );
- sink.tableRow_();
- attributes2.addAttribute( SinkEventAttributes.CLASS, "hidden xyz abc" );
- sink.tableRow( attributes2 );
- sink.tableRow_();
- attributes2.addAttribute( SinkEventAttributes.CLASS, "abc hidden xyz" );
- sink.tableRow( attributes2 );
- sink.tableRow_();
- sink.tableRow();
- sink.tableRow_();
- attributes2.addAttribute( SinkEventAttributes.CLASS, "not-hidden xyz" );
- sink.tableRow( attributes2 );
- sink.tableRow_();
- attributes2.addAttribute( SinkEventAttributes.CLASS, "xyz not-hidden" );
- sink.tableRow( attributes2 );
- sink.tableRow_();
- attributes3.addAttribute( SinkEventAttributes.CLASS, "xyz abc hidden" );
- sink.tableRow( attributes3 );
- sink.tableRow_();
- attributes2.addAttribute( SinkEventAttributes.CLASS, "xyz hidden-not" );
- sink.tableRow( attributes2 );
- sink.tableRow_();
- sink.tableRow();
- sink.tableRow_();
- }
- finally
- {
- sink.close();
- }
-
- StringBuilder sbExpeted = new StringBuilder( "<table border=\"0\" class=\"bodyTable\">" );
- sbExpeted.append( EOL ).append( "<tr class=\"a\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr style=\"bold\" class=\"b\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"hidden xyz abc a\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"abc hidden xyz a\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"a\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"not-hidden xyz b\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"xyz not-hidden a\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr style=\"bold\" class=\"xyz abc hidden b\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"xyz hidden-not b\"></tr>" ).append( EOL );
- sbExpeted.append( "<tr class=\"a\"></tr>" );
-
- String xmlExpected = sbExpeted.toString();
- assertEquals( xmlExpected, writer.toString() );
- }
-
- /**
- * Test of tableCell method, of class XhtmlBaseSink.
- */
- @Test
- public void testTableCell()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.tableCell( attributes );
- sink.tableCell_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<td style=\"bold\"></td>", writer.toString() );
- }
-
- /**
- * Test of tableHeaderCell method, of class XhtmlBaseSink.
- */
- @Test
- public void testTableHeaderCell()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.tableHeaderCell( attributes );
- sink.tableHeaderCell_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<th style=\"bold\"></th>", writer.toString() );
- }
-
- /**
- * Test of tableCaption method, of class XhtmlBaseSink.
- */
- @Test
- public void testTableCaption()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.table();
- sink.tableRows( null, false );
- sink.tableCaption( attributes );
- sink.text( "caption" );
- sink.tableCaption_();
- sink.tableRows_();
- sink.table_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals(
- "<table border=\"0\" class=\"bodyTable\">" + "<caption style=\"bold\">caption</caption></table>",
- writer.toString() );
- }
-
- /**
- * Test of anchor method, of class XhtmlBaseSink.
- */
- @Test
- public void testAnchor()
- {
- String name = "anchor";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.anchor( name, attributes );
- sink.anchor_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<a name=\"anchor\" style=\"bold\"></a>", writer.toString() );
- }
-
- /**
- * Test of link method, of class XhtmlBaseSink.
- */
- @Test
- public void testLink()
- {
- final String name = "link.html";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.link( name, attributes );
- sink.link_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<a style=\"bold\" href=\"link.html\"></a>", writer.toString() );
- }
-
- /**
- * Test of link method for an external link.
- */
- @Test
- public void testLinkExternal()
- {
- final String name = "https://www.apache.org";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.link( name, attributes );
- sink.link_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<a style=\"bold\" class=\"externalLink\" href=\"https://www.apache.org\"></a>",
- writer.toString() );
- }
-
- /**
- * Test of link method for an external link when a css class is provided.
- */
- @Test
- public void testLinkExternalClassExtend()
- {
- final String name = "https://www.apache.org";
- SinkEventAttributeSet attributes2 = new SinkEventAttributeSet();
- attributes2.addAttributes( attributes );
- attributes2.addAttribute( SinkEventAttributes.CLASS, "cs1 cs2" );
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.link( name, attributes2 );
- sink.link_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<a style=\"bold\" class=\"cs1 cs2 externalLink\" href=\"https://www.apache.org\"></a>",
- writer.toString() );
- }
-
- /**
- * Test of italic/bold/monospaced method, of class XhtmlBaseSink.
- */
- @Test
- public void testItalic()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.inline( SinkEventAttributeSet.Semantics.ITALIC );
- sink.inline_();
- sink.inline( SinkEventAttributeSet.Semantics.BOLD );
- sink.inline_();
- sink.inline( SinkEventAttributeSet.Semantics.MONOSPACED );
- sink.inline_();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<i></i><b></b><tt></tt>", writer.toString() );
- }
-
- /**
- * Test of lineBreak/pageBreak/nonBreakingSpace method, of class XhtmlBaseSink.
- */
- @Test
- public void testLineBreak()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.lineBreak( attributes );
- sink.pageBreak();
- sink.nonBreakingSpace();
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<br style=\"bold\" /><!-- PB --> ", writer.toString() );
- }
-
- /**
- * Test of text method, of class XhtmlBaseSink.
- */
- @Test
- public void testText()
- {
- String text = "a text & \u00c6";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.text( text );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "a text & Æ", writer.toString() );
-
- writer = new StringWriter();
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.text( text, attributes );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "a text & Æ", writer.toString() );
- }
-
- /**
- * Test of rawText method, of class XhtmlBaseSink.
- */
- @Test
- public void testRawText()
- {
- String text = "raw text";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.rawText( text );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "raw text", writer.toString() );
- }
-
- /**
- * Test of comment method, of class XhtmlBaseSink.
- */
- @Test
- public void testComment()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.comment( "a comment" );
- sink.comment( " a comment" );
- sink.comment( "a comment " );
- sink.comment( " a comment " );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<!--a comment--><!-- a comment--><!--a comment --><!-- a comment -->",
- writer.toString() );
- }
-
- /**
- * Test of unknown method, of class XhtmlBaseSink.
- */
- @Test
- public void testUnknown()
- {
- final String name = "unknown";
- final Object[] requiredParams = null;
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.unknown( name, requiredParams, attributes );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "", writer.toString() );
- }
-
- /**
- * Test entities in attribute values.
- */
- @Test
- public void testAttributeEntities()
- {
- final Object[] startTag = new Object[] { XhtmlBaseSink.TAG_TYPE_START };
- final Object[] endTag = new Object[] { XhtmlBaseSink.TAG_TYPE_END };
- final String script = XhtmlBaseSink.SCRIPT.toString();
- final SinkEventAttributes src = new SinkEventAttributeSet( SinkEventAttributes.SRC,
- "http://ex.com/ex.js?v=l&l=e" );
-
- try
- {
- sink = new XhtmlBaseSink( writer );
-
- sink.unknown( script, startTag, src );
- sink.unknown( script, endTag, null );
-
- sink.figureGraphics( "http://ex.com/ex.jpg?v=l&l=e", src );
- }
- finally
- {
- sink.close();
- }
-
- String result = writer.toString();
-
- assertTrue( result.contains( "ex.js?v=l&l=e" ) );
- assertTrue( result.contains( "ex.jpg?v=l&l=e" ) );
- }
-
- /**
- * Test of entity.
- */
- @Test
- public void testEntity()
- {
- // DOXIA-314
- String text = "a text '𝟭'";
-
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.text( text );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "a text '𝟭'", writer.toString() );
- }
-
- /**
- * Test unicode chracters in tables. DOXIA-433.
- */
- @Test
- public void testSpecialCharacters()
- {
- try
- {
- sink = new XhtmlBaseSink( writer );
- sink.table( null );
- sink.tableRows( null, true );
- sink.tableRow( null );
- sink.tableCell();
- sink.text( "\u2713", null );
- sink.tableCell_();
- sink.tableRow_();
- sink.tableRows_();
- sink.table_();
- }
- finally
- {
- sink.close();
- }
-
- final String result = writer.toString();
-
- assertTrue( result.contains( "✓" ) );
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/pom.xml b/doxia-modules/doxia-module-xhtml/pom.xml
deleted file mode 100644
index 4bb9be60..00000000
--- a/doxia-modules/doxia-module-xhtml/pom.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?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
-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/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>doxia-modules</artifactId>
- <groupId>org.apache.maven.doxia</groupId>
- <version>2.0.0-M4-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>doxia-module-xhtml</artifactId>
-
- <name>Doxia :: XHTML Module</name>
- <description>
- A Doxia module for Xhtml source documents.
- Xhtml format is supported both as source and target formats.
- </description>
-
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.inject</groupId>
- <artifactId>guice</artifactId>
- <classifier>no_aop</classifier>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.xmlunit</groupId>
- <artifactId>xmlunit-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.xmlunit</groupId>
- <artifactId>xmlunit-matchers</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-testing</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <scm>
- <tag>doxia-2.0.0-M3</tag>
- </scm>
-</project>
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/AbstractXhtmlSink.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/AbstractXhtmlSink.java
deleted file mode 100644
index 6649327b..00000000
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/AbstractXhtmlSink.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import org.apache.maven.doxia.sink.impl.SinkAdapter;
-
-/**
- * <p>Abstract AbstractXhtmlSink class.</p>
- *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @since 1.0
- */
-@Deprecated
-public abstract class AbstractXhtmlSink
- extends SinkAdapter
-{
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlMarkup.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlMarkup.java
deleted file mode 100644
index 55553cf0..00000000
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlMarkup.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import org.apache.maven.doxia.markup.HtmlMarkup;
-
-/**
- * List of <code>Xhtml</code> markups.
- * <br>
- * Xhtml uses all {@link javax.swing.text.html.HTML.Tag} and {@link javax.swing.text.html.HTML.Attribute}
- * as markups.
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @since 1.0
- */
-@SuppressWarnings( "checkstyle:interfaceistype" )
-@Deprecated
-public interface XhtmlMarkup
- extends HtmlMarkup
-{
- /** XHTML namespace: "http://www.w3.org/1999/xhtml" */
- String XHTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
-
- /** XHTML 1.0 transitional public id: "-//W3C//DTD XHTML 1.0 Transitional//EN" */
- String XHTML_TRANSITIONAL_PUBLIC_ID = "-//W3C//DTD XHTML 1.0 Transitional//EN";
-
- /** XHTML 1.0 transitional system id: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" */
- String XHTML_TRANSITIONAL_SYSTEM_ID = "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
deleted file mode 100644
index 92bc8dd8..00000000
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
+++ /dev/null
@@ -1,366 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-import javax.swing.text.html.HTML.Attribute;
-
-import org.apache.maven.doxia.macro.MacroExecutionException;
-import org.apache.maven.doxia.macro.manager.MacroNotFoundException;
-import org.apache.maven.doxia.macro.MacroRequest;
-import org.apache.maven.doxia.parser.ParseException;
-import org.apache.maven.doxia.parser.XhtmlBaseParser;
-import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.pull.XmlPullParser;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Parse an xhtml model and emit events into a Doxia Sink.
- *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @since 1.0
- */
-@Singleton
-@Named( "xhtml4" )
-@Deprecated
-public class XhtmlParser
- extends XhtmlBaseParser
- implements XhtmlMarkup
-{
- private static final Logger LOGGER = LoggerFactory.getLogger( XhtmlParser.class );
-
- /** For boxed verbatim. */
- protected boolean boxed;
-
- /** Empty elements don't write a closing tag. */
- private boolean isEmptyElement;
-
- /**
- * The source content of the input reader. Used to pass into macros.
- */
- private String sourceContent;
-
- /** {@inheritDoc} */
- protected void handleStartTag( XmlPullParser parser, Sink sink )
- throws XmlPullParserException, MacroExecutionException
- {
- isEmptyElement = parser.isEmptyElementTag();
-
- SinkEventAttributeSet attribs = getAttributesFromParser( parser );
-
- if ( parser.getName().equals( HTML.toString() ) )
- {
- //Do nothing
- return;
- }
- else if ( parser.getName().equals( HEAD.toString() ) )
- {
- sink.head( attribs );
- }
- else if ( parser.getName().equals( TITLE.toString() ) )
- {
- sink.title( attribs );
- }
- else if ( parser.getName().equals( META.toString() ) )
- {
- String name = parser.getAttributeValue( null, Attribute.NAME.toString() );
- String content = parser.getAttributeValue( null, Attribute.CONTENT.toString() );
-
- if ( "author".equals( name ) )
- {
- sink.author( null );
-
- sink.text( content );
-
- sink.author_();
- }
- else if ( "date".equals( name ) )
- {
- sink.date( null );
-
- sink.text( content );
-
- sink.date_();
- }
- else
- {
- sink.unknown( "meta", new Object[] { TAG_TYPE_SIMPLE }, attribs );
- }
- }
- /*
- * The ADDRESS element may be used by authors to supply contact information
- * for a model or a major part of a model such as a form. This element
- * often appears at the beginning or end of a model.
- */
- else if ( parser.getName().equals( ADDRESS.toString() ) )
- {
- sink.address( attribs );
- }
- else if ( parser.getName().equals( BODY.toString() ) )
- {
- sink.body( attribs );
- }
- else if ( parser.getName().equals( DIV.toString() ) )
- {
- String divclass = parser.getAttributeValue( null, Attribute.CLASS.toString() );
-
- if ( "source".equals( divclass ) )
- {
- this.boxed = true;
- }
-
- baseStartTag( parser, sink ); // pick up other divs
- }
- /*
- * The PRE element tells visual user agents that the enclosed text is
- * "preformatted". When handling preformatted text, visual user agents:
- * - May leave white space intact.
- * - May render text with a fixed-pitch font.
- * - May disable automatic word wrap.
- * - Must not disable bidirectional processing.
- * Non-visual user agents are not required to respect extra white space
- * in the content of a PRE element.
- */
- else if ( parser.getName().equals( PRE.toString() ) )
- {
- if ( boxed )
- {
- attribs.addAttributes( SinkEventAttributeSet.BOXED );
- }
-
- verbatim();
-
- sink.verbatim( attribs );
- }
- else if ( !baseStartTag( parser, sink ) )
- {
- if ( isEmptyElement )
- {
- handleUnknown( parser, sink, TAG_TYPE_SIMPLE );
- }
- else
- {
- handleUnknown( parser, sink, TAG_TYPE_START );
- }
-
- LOGGER.warn( "Unrecognized xhtml tag <{}> at [{}:{}]", parser.getName(),
- parser.getLineNumber(), parser.getColumnNumber() );
- }
- }
-
- /** {@inheritDoc} */
- protected void handleEndTag( XmlPullParser parser, Sink sink )
- throws XmlPullParserException, MacroExecutionException
- {
- if ( parser.getName().equals( HTML.toString() ) )
- {
- //Do nothing
- return;
- }
- else if ( parser.getName().equals( HEAD.toString() ) )
- {
- sink.head_();
- }
- else if ( parser.getName().equals( TITLE.toString() ) )
- {
- sink.title_();
- }
- else if ( parser.getName().equals( BODY.toString() ) )
- {
- consecutiveSections( 0, sink );
-
- sink.body_();
- }
- else if ( parser.getName().equals( ADDRESS.toString() ) )
- {
- sink.address_();
- }
- else if ( parser.getName().equals( DIV.toString() ) )
- {
- this.boxed = false;
- baseEndTag( parser, sink );
- }
- else if ( !baseEndTag( parser, sink ) )
- {
- if ( !isEmptyElement )
- {
- handleUnknown( parser, sink, TAG_TYPE_END );
- }
- }
-
- isEmptyElement = false;
- }
-
- /** {@inheritDoc} */
- @Override
- protected void handleComment( XmlPullParser parser, Sink sink )
- throws XmlPullParserException
- {
- String text = getText( parser ).trim();
-
- if ( text.startsWith( "MACRO" ) && !isSecondParsing() )
- {
- processMacro( parser, text, sink );
- }
- else
- {
- super.handleComment( parser, sink );
- }
- }
-
- /** process macro embedded in XHTML commment */
- private void processMacro( XmlPullParser parser, String text, Sink sink )
- throws XmlPullParserException
- {
- String s = text.substring( text.indexOf( '{' ) + 1, text.indexOf( '}' ) );
- s = escapeForMacro( s );
- String[] params = StringUtils.split( s, "|" );
- String macroName = params[0];
-
- Map<String, Object> parameters = new HashMap<>();
- for ( int i = 1; i < params.length; i++ )
- {
- String[] param = StringUtils.split( params[i], "=" );
- if ( param.length == 1 )
- {
- throw new XmlPullParserException( "Invalid 'key=value' pair for macro " + macroName + " parameter: "
- + params[i], parser, null );
- }
-
- String key = unescapeForMacro( param[0] );
- String value = unescapeForMacro( param[1] );
- parameters.put( key, value );
- }
-
- MacroRequest request = new MacroRequest( sourceContent, new XhtmlParser(), parameters, getBasedir() );
-
- try
- {
- executeMacro( macroName, request, sink );
- }
- catch ( MacroExecutionException e )
- {
- throw new XmlPullParserException( "Unable to execute macro in the document: " + macroName, parser, e );
- }
- catch ( MacroNotFoundException me )
- {
- throw new XmlPullParserException( "Macro not found: " + macroName, parser, null );
- }
- }
-
- /**
- * escapeForMacro
- *
- * @param s String
- * @return String
- */
- private String escapeForMacro( String s )
- {
- if ( s == null || s.length() < 1 )
- {
- return s;
- }
-
- String result = s;
-
- // use some outrageously out-of-place chars for text
- // (these are device control one/two in unicode)
- result = StringUtils.replace( result, "\\=", "\u0011" );
- result = StringUtils.replace( result, "\\|", "\u0012" );
-
- return result;
- }
-
- /**
- * unescapeForMacro
- *
- * @param s String
- * @return String
- */
- private String unescapeForMacro( String s )
- {
- if ( s == null || s.length() < 1 )
- {
- return s;
- }
-
- String result = s;
-
- result = StringUtils.replace( result, "\u0011", "=" );
- result = StringUtils.replace( result, "\u0012", "|" );
-
- return result;
- }
-
- /**
- * {@inheritDoc}
- */
- protected void init()
- {
- super.init();
-
- this.boxed = false;
- this.isEmptyElement = false;
- }
-
- /** {@inheritDoc} */
- public void parse( Reader source, Sink sink, String reference )
- throws ParseException
- {
- this.sourceContent = null;
-
- try
- {
- StringWriter contentWriter = new StringWriter();
- IOUtil.copy( source, contentWriter );
- sourceContent = contentWriter.toString();
- }
- catch ( IOException ex )
- {
- throw new ParseException( "Error reading the input source", ex );
- }
- finally
- {
- IOUtil.close( source );
- }
-
- try
- {
- super.parse( new StringReader( sourceContent ), sink, reference );
- }
- finally
- {
- this.sourceContent = null;
- }
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParserModule.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParserModule.java
deleted file mode 100644
index 92922b0a..00000000
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParserModule.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import org.apache.maven.doxia.parser.module.AbstractParserModule;
-
-/**
- * <p>XhtmlParserModule class.</p>
- *
- * @since 1.6
- */
-@Singleton
-@Named( "xhtml4" )
-@Deprecated
-public class XhtmlParserModule
- extends AbstractParserModule
-{
- /**
- * Default constructor.
- */
- public XhtmlParserModule()
- {
- super( "xhtml4" );
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
deleted file mode 100644
index 4580b74a..00000000
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import java.io.Writer;
-
-import javax.swing.text.MutableAttributeSet;
-import javax.swing.text.html.HTML.Attribute;
-
-import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
-import org.apache.maven.doxia.sink.impl.XhtmlBaseSink;
-import org.apache.maven.doxia.util.HtmlTools;
-
-import org.codehaus.plexus.util.StringUtils;
-
-/**
- * <a href="http://www.w3.org/TR/xhtml1/">Xhtml 1.0 Transitional</a> sink implementation.
- * <br>
- * It uses the DTD/xhtml1-transitional <a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- * http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>.
- *
- * @author Jason van Zyl
- * @author ltheussl
- * @since 1.0
- */
-@Deprecated
-public class XhtmlSink
- extends XhtmlBaseSink
- implements XhtmlMarkup
-{
- // ----------------------------------------------------------------------
- // Instance fields
- // ----------------------------------------------------------------------
-
- private String encoding;
-
- private String languageId;
-
- /** An indication on if we're inside a head title. */
- private boolean headTitleFlag;
-
- // ----------------------------------------------------------------------
- // Constructors
- // ----------------------------------------------------------------------
-
- /**
- * Constructor, initialize the Writer.
- *
- * @param writer not null writer to write the result.
- */
- protected XhtmlSink( Writer writer )
- {
- super( writer );
- }
-
- /**
- * Constructor, initialize the Writer and tells which encoding is used.
- *
- * @param writer not null writer to write the result.
- * @param encoding the encoding used, that should be written to the generated HTML content
- * if not <code>null</code>.
- */
- protected XhtmlSink( Writer writer, String encoding )
- {
- super( writer );
-
- this.encoding = encoding;
- }
-
- /**
- * Constructor, initialize the Writer and tells which encoding and languageId are used.
- *
- * @param writer not null writer to write the result.
- * @param encoding the encoding used, that should be written to the generated HTML content
- * if not <code>null</code>.
- * @param languageId language identifier for the root element as defined by
- * <a href="ftp://ftp.isi.edu/in-notes/bcp/bcp47.txt">IETF BCP 47</a>, Tags for the Identification of Languages;
- * in addition, the empty string may be specified.
- */
- protected XhtmlSink( Writer writer, String encoding, String languageId )
- {
- this( writer, encoding );
-
- this.languageId = languageId;
- }
-
- /**
- * {@inheritDoc}
- */
- public void head()
- {
- init();
-
- setHeadFlag( true );
-
- write( "<!DOCTYPE html PUBLIC \"" + XHTML_TRANSITIONAL_PUBLIC_ID + "\" \"" + XHTML_TRANSITIONAL_SYSTEM_ID
- + "\">" );
-
- MutableAttributeSet atts = new SinkEventAttributeSet();
- atts.addAttribute( "xmlns", XHTML_NAMESPACE );
-
- if ( languageId != null )
- {
- atts.addAttribute( Attribute.LANG.toString(), languageId );
- atts.addAttribute( "xml:lang", languageId );
- }
-
- writeStartTag( HTML, atts );
-
- writeStartTag( HEAD );
- }
-
- /**
- * {@inheritDoc}
- */
- public void head_()
- {
- if ( !isHeadTitleFlag() )
- {
- // The content of element type "head" must match
- // "((script|style|meta|link|object|isindex)*,
- // ((title,(script|style|meta|link|object|isindex)*,
- // (base,(script|style|meta|link|object|isindex)*)?)|(base,(script|style|meta|link|object|isindex)*,
- // (title,(script|style|meta|link|object|isindex)*))))"
- writeStartTag( TITLE );
- writeEndTag( TITLE );
- }
-
- setHeadFlag( false );
- setHeadTitleFlag( false );
-
- if ( encoding != null )
- {
- write( "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=" + encoding + "\"/>" );
- }
-
- writeEndTag( HEAD );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.swing.text.html.HTML.Tag#TITLE
- */
- public void title()
- {
- setHeadTitleFlag( true );
-
- writeStartTag( TITLE );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.swing.text.html.HTML.Tag#TITLE
- */
- public void title_()
- {
- content( getTextBuffer().toString() );
-
- writeEndTag( TITLE );
-
- resetTextBuffer();
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.swing.text.html.HTML.Tag#META
- */
- public void author_()
- {
- if ( getTextBuffer().length() > 0 )
- {
- MutableAttributeSet att = new SinkEventAttributeSet();
- att.addAttribute( Attribute.NAME, "author" );
- String text = HtmlTools.escapeHTML( getTextBuffer().toString() );
- // hack: un-escape numerical entities that have been escaped above
- // note that numerical entities should really be added as one unicode character in the first place
- text = StringUtils.replace( text, "&#", "&#" );
- att.addAttribute( Attribute.CONTENT, text );
-
- writeSimpleTag( META, att );
-
- resetTextBuffer();
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.swing.text.html.HTML.Tag#META
- */
- public void date_()
- {
- if ( getTextBuffer().length() > 0 )
- {
- MutableAttributeSet att = new SinkEventAttributeSet();
- att.addAttribute( Attribute.NAME, "date" );
- att.addAttribute( Attribute.CONTENT, getTextBuffer().toString() );
-
- writeSimpleTag( META, att );
-
- resetTextBuffer();
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.swing.text.html.HTML.Tag#BODY
- */
- public void body()
- {
- writeStartTag( BODY );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see javax.swing.text.html.HTML.Tag#BODY
- * @see javax.swing.text.html.HTML.Tag#HTML
- */
- public void body_()
- {
- writeEndTag( BODY );
-
- writeEndTag( HTML );
-
- flush();
-
- init();
- }
-
- // ----------------------------------------------------------------------
- // Public protected methods
- // ----------------------------------------------------------------------
-
- /**
- * <p>Setter for the field <code>headTitleFlag</code>.</p>
- *
- * @param headTitleFlag an header title flag.
- * @since 1.1
- */
- protected void setHeadTitleFlag( boolean headTitleFlag )
- {
- this.headTitleFlag = headTitleFlag;
- }
-
- /**
- * <p>isHeadTitleFlag.</p>
- *
- * @return the current headTitleFlag.
- * @since 1.1
- */
- protected boolean isHeadTitleFlag()
- {
- return this.headTitleFlag ;
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java b/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java
deleted file mode 100644
index 31dbd709..00000000
--- a/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import java.io.Writer;
-
-import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.impl.AbstractXmlSinkFactory;
-
-/**
- * Xhtml implementation of the Sink factory.
- *
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- * @since 1.0
- */
-@Singleton
-@Named( "xhtml4" )
-@Deprecated
-public class XhtmlSinkFactory
- extends AbstractXmlSinkFactory
-{
- /** {@inheritDoc} */
- protected Sink createSink( Writer writer, String encoding )
- {
- return new XhtmlSink( writer, encoding );
- }
-
- /** {@inheritDoc} */
- protected Sink createSink( Writer writer, String encoding, String languageId )
- {
- return new XhtmlSink( writer, encoding, languageId );
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/site/site.xml b/doxia-modules/doxia-module-xhtml/src/site/site.xml
deleted file mode 100644
index 54cb754e..00000000
--- a/doxia-modules/doxia-module-xhtml/src/site/site.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?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
- * 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.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/DECORATION/1.1.0 https://maven.apache.org/xsd/decoration-1.1.0.xsd"
- name="Xhtml4">
-
- <body>
-
- <menu ref="parent"/>
-
- <menu name="Overview">
- <item name="Introduction" href="index.html"/>
- <item name="JavaDocs" href="apidocs/index.html"/>
- <item name="Source Xref" href="xref/index.html"/>
- <!--item name="FAQ" href="faq.html"/-->
- </menu>
-
- <menu ref="reports"/>
-
- </body>
-
-</project>
diff --git a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java b/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
deleted file mode 100644
index 9ac0e28f..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import java.io.Writer;
-
-import org.apache.maven.doxia.module.AbstractIdentityTest;
-import org.apache.maven.doxia.parser.Parser;
-import org.apache.maven.doxia.sink.Sink;
-import org.codehaus.plexus.util.StringUtils;
-import org.junit.jupiter.api.BeforeEach;
-
-/**
- * Check that piping a full model through an XhtmlParser and an XhtmlSink
- * leaves the model unchanged.
- */
-@Deprecated
-public class XhtmlIdentityTest
- extends AbstractIdentityTest
-{
- /** {@inheritDoc} */
- @BeforeEach
- protected void setUp()
- throws Exception
- {
- assertIdentity( true );
- }
-
- /** {@inheritDoc} */
- protected Sink createSink( Writer writer )
- {
- XhtmlSink sink = new XhtmlSink( writer );
- sink.setInsertNewline( false );
- return sink;
- }
-
- /** {@inheritDoc} */
- protected Parser createParser()
- {
- return new XhtmlParser();
- }
-
- /** {@inheritDoc} */
- protected String getExpected()
- {
- // DOXIA-177
- String expected = super.getExpected();
-
- String startCaption = "begin:tableCaption";
- String endCaption = "end:tableCaption";
-
- int iStartCaption = expected.indexOf( startCaption );
- int iEndCaption = expected.indexOf( endCaption ) + endCaption.length();
-
- String captionTag = expected.substring( iStartCaption, iEndCaption ) + EOL + EOL + EOL;
- expected = StringUtils.replace( expected, captionTag, "" );
-
- int iStartTableRows =
- expected.substring( 0, iStartCaption ).lastIndexOf( "begin:tableRows" ) + "begin:tableRows".length();
-
- StringBuilder text = new StringBuilder();
- text.append( expected, 0, iStartTableRows );
- text.append( EOL ).append( EOL ).append( EOL );
- text.append( captionTag.subSequence( 0, captionTag.indexOf( "end:tableCaption" )
- + "end:tableCaption".length() ) );
- text.append( expected.substring( iStartTableRows ) );
-
- return text.toString();
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlParserTest.java b/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlParserTest.java
deleted file mode 100644
index 77c6bba5..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlParserTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.util.Iterator;
-import java.util.regex.Pattern;
-
-import org.apache.maven.doxia.parser.AbstractParserTest;
-import org.apache.maven.doxia.parser.Parser;
-import org.apache.maven.doxia.sink.impl.SinkEventElement;
-import org.apache.maven.doxia.sink.impl.SinkEventTestingSink;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
-/**
- * @author <a href="mailto:lars@trieloff.net">Lars Trieloff</a>
- */
-@Deprecated
-public class XhtmlParserTest
- extends AbstractParserTest
-{
- @Inject
- private XhtmlParser parser;
-
- /** {@inheritDoc} */
- @BeforeEach
- protected void setUp()
- throws Exception
- {
- // AbstractXmlParser.CachedFileEntityResolver downloads DTD/XSD files in ${java.io.tmpdir}
- // Be sure to delete them
- String tmpDir = System.getProperty( "java.io.tmpdir" );
-
- // Using FileFilter, because is it is much faster then FileUtils.listFiles
- File[] tmpFiles = new File( tmpDir ).listFiles( new FileFilter()
- {
- Pattern xsdPatterns = Pattern.compile( "(xhtml-lat1.ent|xhtml1-transitional.dtd|xhtml-special.ent|xhtml-symbol.ent)" );
-
- @Override
- public boolean accept( File pathname )
- {
- return xsdPatterns.matcher( pathname.getName() ).matches();
- }
- } );
-
- for ( File tmpFile : tmpFiles )
- {
- tmpFile.delete();
- }
-
- }
-
- /** {@inheritDoc} */
- protected Parser createParser()
- {
- return parser;
- }
-
- /** {@inheritDoc} */
- protected String outputExtension()
- {
- return "xhtml4";
- }
-
- /** @throws Exception */
- @Test
- public void testDocumentBodyEventsList()
- throws Exception
- {
- String text = "<html><body></body></html>";
-
- SinkEventTestingSink sink = new SinkEventTestingSink();
-
- ( (XhtmlParser) createParser() ).parse( text, sink );
-
- Iterator<SinkEventElement> it = sink.getEventList().iterator();
-
- assertEquals( "body", it.next().getName() );
- assertEquals( "body_", it.next().getName() );
- assertFalse( it.hasNext() );
- }
-
- /** @throws Exception */
- @Test
- public void testHeadEventsList()
- throws Exception
- {
- String text = "<head><title>Title</title><meta name=\"author\" content=\"Author\" />"
- + "<meta name=\"date\" content=\"Date\" /><meta name=\"security\" content=\"low\"/></head>";
-
- SinkEventTestingSink sink = new SinkEventTestingSink();
-
- ( (XhtmlParser) createParser() ).parse( text, sink );
-
- Iterator<SinkEventElement> it = sink.getEventList().iterator();
-
- assertEquals( "head", it.next().getName() );
- assertEquals( "title", it.next().getName() );
- assertEquals( "text", it.next().getName() );
- assertEquals( "title_", it.next().getName() );
- assertEquals( "author", it.next().getName() );
- assertEquals( "text", it.next().getName() );
- assertEquals( "author_", it.next().getName() );
- assertEquals( "date", it.next().getName() );
- assertEquals( "text", it.next().getName() );
- assertEquals( "date_", it.next().getName() );
- assertEquals( "unknown", it.next().getName() );
- assertEquals( "head_", it.next().getName() );
- assertFalse( it.hasNext() );
- }
-
- /** @throws Exception */
- @Test
- public void testPreEventsList()
- throws Exception
- {
- String text = "<pre></pre>";
-
- SinkEventTestingSink sink = new SinkEventTestingSink();
-
- ( (XhtmlParser) createParser() ).parse( text, sink );
-
- Iterator<SinkEventElement> it = sink.getEventList().iterator();
-
- assertEquals( "verbatim", it.next().getName() );
- assertEquals( "verbatim_", it.next().getName() );
- assertFalse( it.hasNext() );
- }
-
- /**
- * Test unknown tags.
- *
- * @throws java.lang.Exception if any.
- */
- @Test
- public void testUnknown()
- throws Exception
- {
- String text = "<applet><param name=\"name\" value=\"value\"/><unknown/></applet>";
-
- SinkEventTestingSink sink = new SinkEventTestingSink();
-
- ( (XhtmlParser) createParser() ).parse( text, sink );
-
- Iterator<SinkEventElement> it = sink.getEventList().iterator();
- assertEquals( "unknown", it.next().getName() );
- assertEquals( "unknown", it.next().getName() );
- assertEquals( "unknown", it.next().getName() );
- assertEquals( "unknown", it.next().getName() );
- assertFalse( it.hasNext() );
- }
-
- /** @throws Exception */
- @Test
- public void testTocMacro()
- throws Exception
- {
- String text = "<html><body>" +
- "<!-- MACRO{toc|fromDepth=1|toDepth=2} -->" +
- "<h1>heading 1</h1><h2>heading 2</h2><h3>heading 3</h3>" +
- "</body></html>";
-
- SinkEventTestingSink sink = new SinkEventTestingSink();
-
- ( (XhtmlParser) createParser() ).parse( text, sink );
-
- Iterator<SinkEventElement> it = sink.getEventList().iterator();
-
- assertEquals( "body", it.next().getName() );
- assertEquals( "list", it.next().getName() );
- assertEquals( "listItem", it.next().getName() );
- assertEquals( "link", it.next().getName() );
- assertEquals( "text", it.next().getName() );
- assertEquals( "link_", it.next().getName() );
- assertEquals( "list", it.next().getName() );
- assertEquals( "listItem", it.next().getName() );
- assertEquals( "link", it.next().getName() );
- assertEquals( "text", it.next().getName() );
- assertEquals( "link_", it.next().getName() );
- assertEquals( "listItem_", it.next().getName() );
- assertEquals( "list_", it.next().getName() );
- assertEquals( "listItem_", it.next().getName() );
- assertEquals( "list_", it.next().getName() );
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java b/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
deleted file mode 100644
index 4fac9974..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
+++ /dev/null
@@ -1,462 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import java.io.StringWriter;
-import java.io.Writer;
-
-import org.apache.maven.doxia.markup.HtmlMarkup;
-import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.impl.AbstractSinkTest;
-import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
-import org.junit.jupiter.api.Test;
-
-import static org.apache.maven.doxia.util.HtmlTools.escapeHTML;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-/**
- * @author Jason van Zyl
- * @since 1.0
- */
-@Deprecated
-public class XhtmlSinkTest
- extends AbstractSinkTest
-{
- /** {@inheritDoc} */
- protected String outputExtension()
- {
- return "xhtml4";
- }
-
- /** {@inheritDoc} */
- protected Sink createSink( Writer writer )
- {
- return new XhtmlSink( writer, "UTF-8" );
- }
-
- /** {@inheritDoc} */
- protected boolean isXmlSink()
- {
- return true;
- }
-
- /**
- * Test link generation.
- *
- */
- @Test
- public void testLinks()
- {
- XhtmlSink sink = null;
- Writer writer = new StringWriter();
- try
- {
- sink = (XhtmlSink) createSink( writer );
- sink.link( "http:/www.xdoc.com" );
- sink.link_();
- sink.link( "./index.html#anchor" );
- sink.link_();
- sink.link( "../index.html#anchor" );
- sink.link_();
- sink.link( "index.html" );
- sink.link_();
- }
- finally
- {
- if ( sink != null )
- {
- sink.close();
- }
- }
-
- String actual = writer.toString();
- assertTrue( actual.contains( "<a class=\"externalLink\" href=\"http:/www.xdoc.com\"></a>" ) );
- assertTrue( actual.contains( "<a href=\"./index.html#anchor\"></a>" ) );
- assertTrue( actual.contains( "<a href=\"../index.html#anchor\"></a>" ) );
- assertTrue( actual.contains( "<a href=\"index.html\"></a>" ) );
- }
-
- /** {@inheritDoc} */
- protected String getTitleBlock( String title )
- {
- return "<title>" + title + "</title>";
- }
-
- /** {@inheritDoc} */
- protected String getAuthorBlock( String author )
- {
- return author;
- }
-
- /** {@inheritDoc} */
- protected String getDateBlock( String date )
- {
- return date;
- }
-
- /** {@inheritDoc} */
- protected String getHeadBlock()
- {
- return "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" +
- "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<title></title>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/></head>";
- }
-
- /** {@inheritDoc} */
- protected String getBodyBlock()
- {
- return "<body></body></html>";
- }
-
- /** {@inheritDoc} */
- protected String getArticleBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getNavigationBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getSidebarBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getSectionTitleBlock( String title )
- {
- return title;
- }
-
- /** {@inheritDoc} */
- protected String getSection1Block( String title )
- {
- return "<div class=\"section\">\n<h1>" + title + "</h1></div>";
- }
-
- /** {@inheritDoc} */
- protected String getSection2Block( String title )
- {
- return "<div class=\"section\">\n<h2>" + title + "</h2></div>";
- }
-
- /** {@inheritDoc} */
- protected String getSection3Block( String title )
- {
- return "<div class=\"section\">\n<h3>" + title + "</h3></div>";
- }
-
- /** {@inheritDoc} */
- protected String getSection4Block( String title )
- {
- return "<div class=\"section\">\n<h4>" + title + "</h4></div>";
- }
-
- /** {@inheritDoc} */
- protected String getSection5Block( String title )
- {
- return "<div class=\"section\">\n<h5>" + title + "</h5></div>";
- }
-
- /** {@inheritDoc} */
- protected String getHeaderBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getContentBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getFooterBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getListBlock( String item )
- {
- return "<ul>\n<li>" + item + "</li></ul>";
- }
-
- /** {@inheritDoc} */
- protected String getNumberedListBlock( String item )
- {
- return "<ol style=\"list-style-type: lower-roman\">\n<li>" + item + "</li></ol>";
- }
-
- /** {@inheritDoc} */
- protected String getDefinitionListBlock( String definum, String definition )
- {
- return "<dl>\n<dt>" + definum + "</dt>\n<dd>" + definition + "</dd></dl>";
- }
-
- /** {@inheritDoc} */
- protected String getFigureBlock( String source, String caption )
- {
- String figureBlock = "<img src=\"" + escapeHTML( source, true ) + "\"";
- if( caption != null )
- {
- figureBlock += " alt=\"" + caption + "\"";
- }
- else //@todo fix DOXIA-361
- {
- figureBlock += " alt=\"\"";
- }
- figureBlock += " />";
- return figureBlock;
- }
-
- /** {@inheritDoc} */
- protected String getTableBlock( String cell, String caption )
- {
- return "<table border=\"0\" class=\"bodyTable\">"
- + "<caption>Table caption</caption><tr class=\"a\">\n<td>cell</td></tr>"
- + "</table>";
- }
-
- // Disable testTable until the order of attributes issue is clarified
- // TODO: remove
- /** {@inheritDoc} */
- @Test
- public void testTable()
- {
- assertEquals( "", "", "Dummy!" );
- }
-
- /** {@inheritDoc} */
- protected String getParagraphBlock( String text )
- {
- return "<p>" + text + "</p>";
- }
-
- /** {@inheritDoc} */
- protected String getDataBlock( String value, String text )
- {
- return text;
- }
-
- /** {@inheritDoc} */
- protected String getTimeBlock( String datetime, String text )
- {
- return text;
- }
-
- /** {@inheritDoc} */
- protected String getAddressBlock( String text )
- {
- return "<address>" + text + "</address>";
- }
-
- /** {@inheritDoc} */
- protected String getBlockquoteBlock( String text )
- {
- return "<blockquote>" + text + "</blockquote>";
- }
-
- /** {@inheritDoc} */
- protected String getDivisionBlock( String text )
- {
- return "<div>" + text + "</div>";
- }
-
- /** {@inheritDoc} */
- protected String getVerbatimBlock( String text )
- {
- return "<div class=\"source\">\n<pre>" + text + "</pre></div>";
- }
-
- /** {@inheritDoc} */
- protected String getHorizontalRuleBlock()
- {
- return "<hr />";
- }
-
- /** {@inheritDoc} */
- protected String getPageBreakBlock()
- {
- return "<!-- PB -->";
- }
-
- /** {@inheritDoc} */
- protected String getAnchorBlock( String anchor )
- {
- return "<a name=\"" + anchor + "\">" + anchor + "</a>";
- }
-
- /** {@inheritDoc} */
- protected String getLinkBlock( String link, String text )
- {
- return "<a href=\"" + link + "\">" + text + "</a>";
- }
-
- /** {@inheritDoc} */
- protected String getInlineBlock( String text )
- {
- return text;
- }
-
- /** {@inheritDoc} */
- protected String getInlineItalicBlock( String text )
- {
- return "<i>" + text + "</i>";
- }
-
- /** {@inheritDoc} */
- protected String getInlineBoldBlock( String text )
- {
- return "<b>" + text + "</b>";
- }
-
- /** {@inheritDoc} */
- protected String getInlineCodeBlock( String text )
- {
- return "<code>" + text + "</code>";
- }
-
- /** {@inheritDoc} */
- protected String getItalicBlock( String text )
- {
- return "<i>" + text + "</i>";
- }
-
- /** {@inheritDoc} */
- protected String getBoldBlock( String text )
- {
- return "<b>" + text + "</b>";
- }
-
- /** {@inheritDoc} */
- protected String getMonospacedBlock( String text )
- {
- return "<tt>" + text + "</tt>";
- }
-
- /** {@inheritDoc} */
- protected String getLineBreakBlock()
- {
- return "<br />";
- }
-
- /** {@inheritDoc} */
- protected String getLineBreakOpportunityBlock()
- {
- return "";
- }
-
- /** {@inheritDoc} */
- protected String getNonBreakingSpaceBlock()
- {
- return " ";
- }
-
- /** {@inheritDoc} */
- protected String getTextBlock( String text )
- {
- // TODO: need to be able to retreive those from outside the sink
- return "~,_=,_-,_+,_*,_[,_],_<,_>,_{,_},_\\";
- }
-
- /** {@inheritDoc} */
- protected String getRawTextBlock( String text )
- {
- return text;
- }
-
- /**
- * Test entities is section titles and paragraphs.
- */
- @Test
- public void testEntities()
- {
- XhtmlSink sink = null;
- Writer writer = new StringWriter();
-
- try
- {
- sink = new XhtmlSink( writer );
- sink.section( Sink.SECTION_LEVEL_1, null );
- sink.sectionTitle( Sink.SECTION_LEVEL_1, null );
- sink.text( "&", null );
- sink.sectionTitle_( Sink.SECTION_LEVEL_1 );
- sink.paragraph( null );
- sink.text( "&", null );
- sink.paragraph_();
- sink.section_( Sink.SECTION_LEVEL_1 );
- }
- finally
- {
- sink.close();
- }
-
- assertEquals( "<div class=\"section\">\n<h1>&</h1>\n<p>&</p></div>", writer.toString() );
- }
-
- /**
- * Test head events.
- */
- @Test
- public void testHead()
- {
- XhtmlSink sink = null;
- Writer writer = new StringWriter();
-
- try
- {
- sink = new XhtmlSink( writer );
- sink.head();
- sink.title();
- sink.text( "Title" );
- sink.title_();
- sink.comment( "A comment" );
- sink.author();
- // note: this is really illegal, there should be no un-resolved entities emitted into text()
- sink.text( "ģ&" );
- sink.author_();
- SinkEventAttributeSet atts = new SinkEventAttributeSet( 1 );
- atts.addAttribute( "href", "http://maven.apache.org/" );
- sink.unknown( "base", new Object[] { HtmlMarkup.TAG_TYPE_SIMPLE }, atts );
- sink.head_();
- }
- finally
- {
- sink.close();
- }
-
- String expected =
- "<head>\n<title>Title</title><!--A comment--><meta name=\"author\" content=\"ģ&\" />"
- + "<base href=\"http://maven.apache.org/\" /></head>";
- String actual = writer.toString();
- assertTrue( actual.contains( expected ), actual );
- }
-
- /** {@inheritDoc} */
- protected String getCommentBlock( String text )
- {
- return "<!--" + toXmlComment( text ) + "-->";
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkWithLanguageIdTest.java b/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkWithLanguageIdTest.java
deleted file mode 100644
index 13c32454..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkWithLanguageIdTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.maven.doxia.module.xhtml;
-
-/*
- * 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.
- */
-
-import java.io.Writer;
-import java.util.Locale;
-
-import org.apache.maven.doxia.sink.Sink;
-
-/**
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
- */
-@Deprecated
-public class XhtmlSinkWithLanguageIdTest
- extends XhtmlSinkTest
-{
- /** {@inheritDoc} */
- protected Sink createSink( Writer writer )
- {
- return new XhtmlSink( writer, "UTF-8", Locale.US.getLanguage() );
- }
-
- /** {@inheritDoc} */
- protected String getHeadBlock()
- {
- return "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"
- + "<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\" xml:lang=\"en\">"
- + "<head><title></title>"
- + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/></head>";
- }
-}
diff --git a/doxia-modules/doxia-module-xhtml/src/test/resources/download.apt.vm b/doxia-modules/doxia-module-xhtml/src/test/resources/download.apt.vm
deleted file mode 100644
index 6e09992b..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/resources/download.apt.vm
+++ /dev/null
@@ -1,79 +0,0 @@
- ------
-Download Maven ${currentVersion}
- ------
-Brett Porter
-Jason van Zyl
- ------
-4 October 2005
- ------
-
-Download Maven ${currentVersion}
-
- Maven is distributed in several formats for your convenience.
-
- You will be prompted for a mirror - if the file is not found on yours, please be patient, as it may take 24
- hours to reach all mirrors.
-
- Maven ${currentVersion} is distributed under the {{{http://maven.apache.org/license.html} Apache License, version 2.0}}.
-
- We <<strongly>> encourage our users to configure a Maven repository mirror closer to their location, please read {{{guides/mini/guide-mirror-settings.html} How to Use Mirrors for Repositories}}.
-
-*-------------------------+---------+----------+-----------+
-| | Mirrors | Checksum | Signature |
-*-------------------------+---------+----------+-----------+
-| Maven ${currentVersion} (tar.bz2) | {{{http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-${currentVersion}-bin.tar.bz2} maven-${currentVersion}-bin.tar.bz2}} | {{{http://www.apache.org/dist/maven/binaries/maven-${currentVersion}-bin.tar.bz2.md5} maven-${currentVersion}-bin.tar.bz2.md5}} | {{{http://www.apache.org/dist/maven/binaries/maven-${currentVersion}-bin.tar.bz2.asc} maven-${currentVersion}-bin.tar.bz2.asc}} |
-*-------------------------+---------+----------+-----------+
-| Maven ${currentVersion} (tar.gz) | {{{http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-${currentVersion}-bin.tar.gz} maven-${currentVersion}-bin.tar.gz}} | {{{http://www.apache.org/dist/maven/binaries/maven-${currentVersion}-bin.tar.gz.md5} maven-${currentVersion}-bin.tar.gz.md5}} | {{{http://www.apache.org/dist/maven/binaries/maven-${currentVersion}-bin.tar.gz.asc} maven-${currentVersion}-bin.tar.gz.asc}} |
-*-------------------------+---------+----------+-----------+
-| Maven ${currentVersion} (zip) | {{{http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-${currentVersion}-bin.zip} maven-${currentVersion}-bin.zip}} | {{{http://www.apache.org/dist/maven/binaries/maven-${currentVersion}-bin.zip.md5} maven-${currentVersion}-bin.zip.md5}} | {{{http://www.apache.org/dist/maven/binaries/maven-${currentVersion}-bin.zip.asc} maven-${currentVersion}-bin.zip.asc}} |
-*-------------------------+---------+----------+-----------+
-| Maven Ant Tasks 2.0.7 | {{{http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-ant-tasks-2.0.7.jar} maven-ant-tasks-2.0.7.jar}} | {{{http://www.apache.org/dist/maven/binaries/maven-ant-tasks-2.0.7.jar.md5} maven-ant-tasks-2.0.7.jar.md5}} | {{{http://www.apache.org/dist/maven/binaries/maven-ant-tasks-2.0.7.jar.asc} maven-ant-tasks-2.0.7.jar.asc}} |
-*-------------------------+---------+----------+-----------+
-
-* Previous Releases
-
- All previous releases of Maven can be found in the {{{http://archive.apache.org/dist/maven/binaries/}archives}}.
-
-* System {Requirements}
-
-*----------------------+---------------------------------------------------------------------------------------------+
-| <<JDK>> | 1.4 or above (this is to execute Maven - it still allows you to build against 1.3 and prior JDK's)
-*----------------------+---------------------------------------------------------------------------------------------+
-| <<Memory>> | No minimum requirement
-*----------------------+---------------------------------------------------------------------------------------------+
-| <<Disk>> | No minimum requirement. Approximately 100MB will be used for your local repository, however this will vary depending on usage and can be removed and redownloaded at any time.
-*----------------------+---------------------------------------------------------------------------------------------+
-| <<Operating System>> | No minimum requirement. On Windows, Windows NT and above or Cygwin is required for the startup scripts. Tested on Windows XP, Fedora Core and Mac OS X.
-*----------------------+---------------------------------------------------------------------------------------------+
-
-* {Installation} Instructions
-
-** Windows 2000/XP
-
- [[1]] Unzip <<<maven-${currentVersion}-bin.zip>>> to the directory you wish to install Maven ${currentVersion}. These instructions
- assume you chose <<<C:\Program Files\Apache Software Foundation\maven-${currentVersion}>>>
-
- [[2]] Add the <<<bin>>> directory to your path, by opening up the system properties (WinKey + Pause),
- selecting the "Advanced" tab, and the "Environment Variables" button, then editing the <<<PATH>>>
- variable in the user variables. eg.
- <<<"C:\Program Files\Apache Software Foundation\maven-${currentVersion}\bin";%PATH%>>>
-
- [[3]] In the same dialog, make sure that <<<JAVA_HOME>>> is set to the location of your JDK,
- eg. <<<C:\Program Files\Java\jdk1.5.0_02>>>
-
- [[4]] Run <<<mvn --version>>> to verify that it is correctly installed.
-
-** Unix-based Operating Systems (Linux, Solaris and Mac OS X)
-
- [[1]] Extract the distribution archive to the directory you wish to install Maven ${currentVersion}. These instructions
- assume you chose <<</usr/local/maven-${currentVersion}>>>. The directory <<<maven-${currentVersion}>>> will be created from
- the archive.
-
- [[2]] Add the <<<bin>>> directory to your path, eg. <<<export
-PATH=/usr/local/maven-${currentVersion}/bin:$PATH>>>
-
- [[3]] Make sure that <<<JAVA_HOME>>> is set to the location of your JDK, eg.
- <<<export JAVA_HOME=/usr/java/jdk1.5.0_02>>>
-
- [[4]] Run <<<mvn --version>>> to verify that it is correctly installed.
-
diff --git a/doxia-modules/doxia-module-xhtml/src/test/resources/file.with.dot.in.name.xml b/doxia-modules/doxia-module-xhtml/src/test/resources/file.with.dot.in.name.xml
deleted file mode 100644
index 8a0bb342..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/resources/file.with.dot.in.name.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<!--
-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.
--->
-
-<nothing/>
\ No newline at end of file
diff --git a/doxia-modules/doxia-module-xhtml/src/test/resources/fun.html b/doxia-modules/doxia-module-xhtml/src/test/resources/fun.html
deleted file mode 100644
index 3f8b39a1..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/resources/fun.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--
-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.
--->
-
-<html>
- <head>
- <title>This is fun!</title>
- </head>
- <body>
- <h1>This is the first first-level section</h1>
- <p>
- This paragraph belongs to section one.
- </p>
- <h2>This is the first second-level section</h2>
- <p>
- <a name="para1" />This paragraph belongs to subsection one.
- </p>
- <h2>This is the second second-level section</h2>
- <p>
- This paragraph belongs to subsection two.
- </p>
- <h3>This is the first third-level section</h3>
- <p>
- To make the <em>task</em> <i>even</i> harder,
- the <tt>h3</tt>-heading was dropped, but we
- expect the parser to recognize this section
- as level 3, not level 4.
- </p>
- <h2>This is the third second-level section</h2>
- <p>
- This paragraph belongs to subsection three.
- </p>
- <h1>This is the second first-level section</h1>
- <p>
- This paragraph belongs to section two.
- </p>
- <pre>
- //what is source code?
- </pre>
- <p>
- This is <em>also</em> a <strong>paragraph</strong>. Take a look
- at the <a href="#para1">other paragraph</a>.
- </p>
- <p>
- Just introduce some <img src="http://maven.apache.org/images/logos/maven-feather.png"/>
- images. <img src="http://maven.apache.org/images/logos/maven-feather.png" alt="maven feather"/>
- <img src="http://maven.apache.org/images/logos/maven-feather.png" alt="maven feather"
- title="built by: maven"/>
- </p>
- </body>
-</html>
diff --git a/doxia-modules/doxia-module-xhtml/src/test/resources/index.xml.vm b/doxia-modules/doxia-module-xhtml/src/test/resources/index.xml.vm
deleted file mode 100644
index f6c942b4..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/resources/index.xml.vm
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-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.
--->
-
-<document>
- <properties>
- <title>Welcome to Maven</title>
- <author email="brett@apache.org">Brett Porter</author>
- <author email="jason@sonatype.com">Jason van Zyl</author>
- </properties>
- <body>
-
- <!-- TODO: news? -->
- <div id="downloadbox">
- <h4>Search Maven Sites</h4>
-<!-- Google CSE Search Box Begins -->
-<form action="http://www.google.com/cse" id="searchbox_006660305041243700248:hyqtfwsewpm">
- <input type="hidden" name="cx" value="006660305041243700248:hyqtfwsewpm" />
- <input type="text" name="q" size="25" />
- <input type="submit" name="sa" value="Search" />
-</form>
-<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_006660305041243700248%3Ahyqtfwsewpm"></script>
-<!-- Google CSE Search Box Ends -->
-
- <h4>Get Maven ${currentVersion}</h4>
- <span style="display: block; text-align: right; font-size: smaller">Released: 20 June 2007</span>
- <p>
- <a href="download.html">
- <img src="images/folder-open.gif" border="0" alt="" title="Download Maven ${currentVersion}"/>
- Maven ${currentVersion}
- </a>
- <small>(1.3Mb)</small>
- <span style="font-size: smaller">
- <br/>
- <a href="download.html#Requirements">System Requirements</a>,
- <a href="download.html#Installation">Installation Instructions</a>,
- <a href="release-notes.html">Release Notes</a>
- </span>
- </p>
- <p>
- <a href="download.html">
- <img src="images/folder-open.gif" border="0" alt="" title="Download Maven Tasks for Ant 2.0.7"/>
- Maven Tasks for Ant 2.0.7
- </a>
- <small>(938k)</small>
- <span style="font-size: smaller">
- <br/>
- <a href="ant-tasks.html">Documentation</a>,
- <a href="ant-tasks-release-notes.html">Release Notes</a>
- </span>
- </p>
- <!-- TODO: what about downloads for Continuum, etc.? Would be good to have one big download page -->
-
- <h4>Other Maven Projects</h4>
- <p>
- <a href="/continuum/">
- <img src="images/continuum.png" border="0" width="76" height="32" style="float: left; margin-right: 1em;" alt="" title="Continuum" />
- Continuum
- </a>
- continuous integration server
- </p>
- <!--
-
- You can't be promoting Archiva when it's never been released, it's completely alpha and this is misleading.
- When it's released I think it can rightfully be put here.
-
- <p>
- <a href="archiva">
- <img src="images/archiva.png" border="0" width="76" height="32" style="float: left; margin-right: 1em;" alt="" title="Archiva" />
- Archiva
- </a>
- repository and artifact management server
- </p>
- -->
- <p>
- <a href="/maven-1.x/">
- <img src="images/maven-1.x.png" border="0" width="76" height="32" style="float: left; margin-right: 1em;" alt="" title="Maven 1.x" />
- Maven 1.x
- </a>
- All stories start at the beginning...
- </p>
-
- <!-- TODO: we should use the SSI instead, but two things prevent it: a) the SSI's aren't working on apache.org yet so I can't test it; b) SSI's get eliminated from xdoc. For some reason even inside CDATA they are escaped. -->
- <iframe src="http://www.apache.org/ads/bannerbar.html"
-style="margin-left: -10px; padding: 0;" frameborder="0" scrolling="no"
-width="244" height="68"></iframe>
- <div>
- <a href="http://www.ossummit.com"><img src="http://www.ossummit.com/ads/ossummit_button_2.jpg" alt="OS Summit Asia" border="0" width="234" height="60" /></a>
- </div>
- </div>
- <section name="Welcome to Maven">
-
- <!-- TODO: I reckon it's time for a new description -->
- <p>
- Maven is a software project management and comprehension tool. Based on the concept of a project object model
- (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
- </p>
- <p>
- If you think that Maven could help your project, you can find out more information about in the "About Maven"
- section of the navigation. This includes an in-depth description of <a href="what-is-maven.html">what Maven is</a>,
- a <a href="maven-features.html">list of some of its main features</a>, and a set of <a href="general.html">frequently
- asked questions about what Maven is</a>.
- </p>
- <h2>Learning about Maven</h2>
- <p>
- <!-- TODO: this could be the big button type thing instead of a list of links -->
- This site is separated into the following sections, depending on how you'd like to use Maven:
- </p>
- <!-- TODO: use CSS -->
- <ul>
- <li>
- <span style="white-space:nowrap; font-weight: bold; font-size: 1.25em">
- <a href="run-maven/index.html">Run Maven</a>
- </span>
- <span style="display: block; margin-bottom: 0.5em">
- Information for those needing to build a project that uses Maven
- </span>
- </li>
- <li>
- <span style="white-space:nowrap; font-weight: bold; font-size: 1.25em">
- <a href="users/index.html">Use Maven</a>
- </span>
- <span style="display: block; margin-bottom: 0.5em">
- Information for those wanting to use Maven to build their project, including a "10 minute test" that gives a
- practical overview of Maven's main features in just 10 minutes
- </span>
- </li>
- <li>
- <span style="white-space:nowrap; font-weight: bold; font-size: 1.25em">
- <a href="plugin-developers/index.html">Write Maven Plugins</a>
- </span>
- <span style="display: block; margin-bottom: 0.5em">
- Information for those who may or may not be using Maven, but want to provide a plugin for shared
- functionality or to accompany their own product or toolset
- </span>
- </li>
- <li>
- <span style="white-space:nowrap; font-weight: bold; font-size: 1.25em">
- <a href="repository/index.html">Improve the Maven Repository</a>
- </span>
- <span style="display: block; margin-bottom: 0.5em">
- Information for those who may or may not use, but are interested in getting project metadata into the
- repository
- </span>
- </li>
- <li>
- <span style="white-space:nowrap; font-weight: bold; font-size: 1.25em">
- <a href="developers/index.html">Develop Maven</a>
- </span>
- <span style="display: block; margin-bottom: 0.5em">
- Information for those who are currently developers, or interested in becoming developers of the Maven
- project itself
- </span>
- </li>
- </ul>
- <p>
- Each guide is divided into a number of trails to get you started on a particular topic, and includes a
- reference area and a "cookbook" of common examples.
- </p>
- <p>
- You can access the guides at any time from the left navigation.
- </p>
- <h2>Documentation Index</h2>
- <p>
- If you are looking for a quick reference, you can use the <a href="guides/index.html">documentation index.</a>
-<!-- TODO
- If you are looking for a quick reference, you can use the documentation index. It is available in both
- <a href="todo.html">alphabetical</a> and <a href="todo.html">categorical</a> listing formats.
--->
- </p>
- <h2>Plugins</h2>
-<!-- TODO
- <p>
- Maven functionality is provided by plugins. For an explanation of how plugins work, and basic information on how
- to use a plugin, see the <a href="todo.html">introduction to plugins</a> in the Users Centre.
- </p>
--->
- <p>
- For detailed information on just some of the plugins available for Maven, see the
- <a href="plugins/index.html">plugin list</a>.
- </p>
-<!-- TODO: Should these be here, or just in the user centre?
- <h2>Converting from a different Build System</h2>
- <p>
- If you are currently using a different build system, there are options for converting from that to Maven 2
- either partially or completely. These guides also give an overview of the differences between Maven and the
- other build system. The following guides are available in the Users Centre:
- </p>
- <ul>
- <li><a href="todo.html">Converting from Ant to Maven 2</a></li>
- <li><a href="todo.html">Converting from Maven 1.x to Maven 2</a></li>
- <li><a href="todo.html">Adding Maven 2 to an IDE based build</a></li>
- </ul>
--->
- <h2>How to Get Support</h2>
- <p>
- Support for Maven is available in a variety of different forms.
- </p>
- <p>
- To get started, search the documentation, the <a href="http://docs.codehaus.org/display/MAVENUSER">wiki</a>,
- <a href="issue-tracking.html">issue tracker</a>, or the <a href="mail-lists.html">mailing list archives</a> to
- see if the problem has been solved or reported before.
- </p>
- <p>
- If the problem has not been reported before, the recommended way to get help is to
- subscribe to the <a href="mail-lists.html">Maven Users Mailing list</a>. Many other users and Maven developers
- will answer your questions there, and the answer will be archived for others in the future.
- </p>
- <p>
- You can also reach the Maven developers on <a href="community.html">IRC</a>.
- </p>
- </section>
- </body>
-</document>
diff --git a/doxia-modules/doxia-module-xhtml/src/test/resources/test.xhtml4 b/doxia-modules/doxia-module-xhtml/src/test/resources/test.xhtml4
deleted file mode 100644
index fd94454c..00000000
--- a/doxia-modules/doxia-module-xhtml/src/test/resources/test.xhtml4
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-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.
--->
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
- <title>Title</title>
- <meta name="author" content="Author" />
- <meta name="date" content="Date" />
-</head>
-
-<body>
-
-<!-- MACRO{toc|fromDepth=0|toDepth=3} -->
-
-<p>Paragraph 1, line 1. Paragraph 1, line 2.</p>
-<p>Paragraph 2, line 1. Paragraph 2, line 2.</p>
-
-<div class="section"><h1>Section title</h1>
-<div class="section"><h2>Sub-section title</h2>
-<div class="section"><h3>Sub-sub-section title</h3>
-<div class="section"><h4>Sub-sub-sub-section title</h4>
-<div class="section"><h5>Sub-sub-sub-sub-section title</h5>
-
-<ul>
- <li>List item 1.</li>
- <li>List item 2.<p>Paragraph contained in list item 2.</p>
- <ul>
- <li>Sub-list item 1.</li>
- <li>Sub-list item 2.</li>
- </ul>
- </li>
- <li>List item 3. Force end of list:</li>
-</ul>
-
-<div class="source"><pre>Verbatim text not contained in list item 3</pre></div>
-
-<ol type="1">
- <li>Numbered item 1.
- <ol type="A">
- <li>Numbered item A.</li>
- <li>Numbered item B.</li>
- </ol>
- </li>
- <li>Numbered item 2.</li>
-</ol>
-
-<p>List numbering schemes: [[1]], [[a]], [[A]], [[i]], [[I]].</p>
-
-<dl>
- <dt>Defined term 1</dt>
- <dd>of definition list.</dd>
- <dt>Defined term 2</dt>
- <dd>of definition list.<div class="source"><pre>Verbatim text
- in a box </pre></div></dd>
-</dl>
-
-<p>--- instead of +-- suppresses the box around verbatim text.</p>
-
-<div class="figure">
- <p align="center"><img src="figure.png" alt="figure.png" /></p>
- <p align="center"><i>Figure caption</i></p>
-</div>
-
-<table align="center" border="1" class="bodyTable">
- <caption>Table caption</caption>
- <tr class="a">
- <th align="center">Centered<br />cell 1,1</th>
- <th align="left">Left-aligned<br />cell 1,2</th>
- <th align="right">Right-aligned<br />cell 1,3</th>
- </tr>
- <tr class="b">
- <td align="center">cell 2,1</td>
- <td align="left">cell 2,2</td>
- <td align="right">cell 2,3</td>
- </tr>
-</table>
-
-<p>No grid, no caption:</p>
-
-<table align="center" border="0" class="bodyTable">
- <tr class="a">
- <td align="center">cell</td>
- <td align="center">cell</td>
- </tr>
- <tr class="b">
- <td align="center">cell</td>
- <td align="center">cell</td>
- </tr>
-</table>
-
-<p>Horizontal line:</p><hr />
-
-<!-- PB -->
-<p>New page.</p>
-
-<p><i>Italic</i> font. <b>Bold</b> font. <tt>Monospaced</tt> font.</p>
-
-<p>
- <a name="Anchor">Anchor</a>.
- Link to <a href="#Anchor">Anchor</a>.
- Link to <a href="http://www.pixware.fr" class="externalLink">http://www.pixware.fr</a>.
- Link to <a href="#Anchor">showing alternate text</a>.
- Link to <a href="http://www.pixware.fr" class="externalLink">Pixware home page</a>.
-</p>
-
-<p>Force line<br />break.</p>
-
-<p>Non breaking space.</p>
-
-<p>Escaped special characters:<br />
- ~<br />
- =<br />
- -<br />
- +<br />
- *<br />
- [<br />
- ]<br />
- <<br />
- ><br />
- {<br />
- }<br />
- \
-</p>
-
-<p>Copyright symbol: ©, ©, ©.</p>
-
-<!-- A comment! -->
-
-</div></div></div></div></div>
-
-</body>
-
-</html>
diff --git a/doxia-modules/doxia-module-xhtml5/src/test/resources/download.apt.vm b/doxia-modules/doxia-module-xhtml5/src/test/resources/download.apt.vm
index 6e09992b..56b62991 100644
--- a/doxia-modules/doxia-module-xhtml5/src/test/resources/download.apt.vm
+++ b/doxia-modules/doxia-module-xhtml5/src/test/resources/download.apt.vm
@@ -63,7 +63,7 @@ Download Maven ${currentVersion}
[[4]] Run <<<mvn --version>>> to verify that it is correctly installed.
-** Unix-based Operating Systems (Linux, Solaris and Mac OS X)
+** Unix-like Operating Systems (Linux, Solaris and Mac OS X)
[[1]] Extract the distribution archive to the directory you wish to install Maven ${currentVersion}. These instructions
assume you chose <<</usr/local/maven-${currentVersion}>>>. The directory <<<maven-${currentVersion}>>> will be created from
diff --git a/pom.xml b/pom.xml
index f67bfb4a..3f8e7016 100644
--- a/pom.xml
+++ b/pom.xml
@@ -134,11 +134,6 @@ under the License.
<artifactId>doxia-module-xdoc</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-module-xhtml</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-module-xhtml5</artifactId>
@@ -283,7 +278,6 @@ under the License.
<plugin>
<groupId>org.eclipse.sisu</groupId>
<artifactId>sisu-maven-plugin</artifactId>
- <version>${sisuVersion}</version>
<executions>
<execution>
<goals>
@@ -384,7 +378,7 @@ under the License.
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
- <artifactId>doxia-module-xhtml</artifactId>
+ <artifactId>doxia-module-xhtml5</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>