Author: ltheussl
Date: Wed Oct 10 11:34:11 2007
New Revision: 583572
URL: http://svn.apache.org/viewvc?rev=583572&view=rev
Log:
Add <code>, <strong>, <em> and <samp> tags to Xdoc parser. Small code
re-shuffling to make xdoc and xhtml easier comparable.
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java?rev=583572&r1=583571&r2=583572&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocParser.java
Wed Oct 10 11:34:11 2007
@@ -257,15 +257,16 @@
{
sink.head();
}
- else if ( parser.getName().equals( Tag.B.toString() ) )
+ else if ( ( parser.getName().equals( Tag.B.toString() ) ) || (
parser.getName().equals( Tag.STRONG.toString() ) ) )
{
sink.bold();
}
- else if ( parser.getName().equals( Tag.I.toString() ) )
+ else if ( ( parser.getName().equals( Tag.I.toString() ) ) || (
parser.getName().equals( Tag.EM.toString() ) ) )
{
sink.italic();
}
- else if ( parser.getName().equals( Tag.TT.toString() ) )
+ else if ( ( parser.getName().equals( Tag.CODE.toString() ) ) || (
parser.getName().equals( Tag.SAMP.toString() ) ) ||
+ ( parser.getName().equals( Tag.TT.toString() ) ) )
{
sink.monospaced();
}
@@ -515,15 +516,16 @@
{
sink.head_();
}
- else if ( parser.getName().equals( Tag.B.toString() ) )
+ else if ( ( parser.getName().equals( Tag.B.toString() ) ) || (
parser.getName().equals( Tag.STRONG.toString() ) ) )
{
sink.bold_();
}
- else if ( parser.getName().equals( Tag.I.toString() ) )
+ else if ( ( parser.getName().equals( Tag.I.toString() ) ) || (
parser.getName().equals( Tag.EM.toString() ) ) )
{
sink.italic_();
}
- else if ( parser.getName().equals( Tag.TT.toString() ) )
+ else if ( ( parser.getName().equals( Tag.CODE.toString() ) ) || (
parser.getName().equals( Tag.SAMP.toString() ) ) ||
+ ( parser.getName().equals( Tag.TT.toString() ) ) )
{
sink.monospaced_();
}
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java?rev=583572&r1=583571&r2=583572&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
Wed Oct 10 11:34:11 2007
@@ -26,10 +26,10 @@
import javax.swing.text.html.HTML.Attribute;
import javax.swing.text.html.HTML.Tag;
+import org.apache.maven.doxia.parser.Parser;
import org.apache.maven.doxia.sink.AbstractXmlSink;
import org.apache.maven.doxia.util.HtmlTools;
import org.apache.maven.doxia.util.LineBreaker;
-import org.apache.maven.doxia.parser.Parser;
/**
* A doxia Sink which produces an xdoc model.
@@ -94,12 +94,20 @@
// ----------------------------------------------------------------------
/**
+ * @return the current buffer
+ */
+ protected StringBuffer getBuffer()
+ {
+ return buffer;
+ }
+
+ /**
* Reset all variables.
*/
protected void resetState()
{
headFlag = false;
- buffer = new StringBuffer();
+ resetBuffer();
boxedFlag = false;
verbatimFlag = false;
cellJustif = null;
@@ -107,6 +115,14 @@
}
/**
+ * Reset the buffer.
+ */
+ protected void resetBuffer()
+ {
+ buffer = new StringBuffer();
+ }
+
+ /**
* [EMAIL PROTECTED]
* @see XdocMarkup#DOCUMENT_TAG
* @see XdocMarkup#PROPERTIES_TAG
@@ -147,7 +163,7 @@
writeStartTag( Tag.TITLE );
content( buffer.toString() );
writeEndTag( Tag.TITLE );
- buffer = new StringBuffer();
+ resetBuffer();
}
}
@@ -162,7 +178,7 @@
writeStartTag( AUTHOR_TAG );
content( buffer.toString() );
writeEndTag( AUTHOR_TAG );
- buffer = new StringBuffer();
+ resetBuffer();
}
}
@@ -177,7 +193,7 @@
writeStartTag( DATE_TAG );
content( buffer.toString() );
writeEndTag( DATE_TAG );
- buffer = new StringBuffer();
+ resetBuffer();
}
}
@@ -207,7 +223,7 @@
}
// -----------------------------------------------------------------------
- //
+ // Sections
// -----------------------------------------------------------------------
/** [EMAIL PROTECTED] */
@@ -750,6 +766,7 @@
public void tableRow_()
{
writeEndTag( Tag.TR );
+
cellCount = 0;
}
@@ -828,7 +845,9 @@
public void tableCell_( boolean headerRow )
{
Tag t = ( headerRow ? Tag.TH : Tag.TD );
+
writeEndTag( t );
+
++cellCount;
}
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java?rev=583572&r1=583571&r2=583572&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlParser.java
Wed Oct 10 11:34:11 2007
@@ -32,8 +32,7 @@
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
/**
- * Parse an xhtml model and emit events into the specified doxia
- * Sink.
+ * Parse an xhtml model and emit events into the specified doxia Sink.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
* @version $Id$
@@ -116,11 +115,6 @@
{
sink.verbatim( true );
}
- else if ( ( parser.getName().equals( Tag.CODE.toString() ) ) || (
parser.getName().equals( Tag.SAMP.toString() ) ) ||
- ( parser.getName().equals( Tag.TT.toString() ) ) )
- {
- sink.monospaced();
- }
else if ( parser.getName().equals( Tag.UL.toString() ) )
{
sink.list();
@@ -145,6 +139,11 @@
{
sink.italic();
}
+ else if ( ( parser.getName().equals( Tag.CODE.toString() ) ) || (
parser.getName().equals( Tag.SAMP.toString() ) ) ||
+ ( parser.getName().equals( Tag.TT.toString() ) ) )
+ {
+ sink.monospaced();
+ }
else if ( parser.getName().equals( Tag.A.toString() ) )
{
String href = parser.getAttributeValue( null,
Attribute.HREF.toString() );
@@ -176,14 +175,17 @@
}
else if ( parser.getName().equals( Tag.IMG.toString() ) )
{
- sink.figure();
String src = parser.getAttributeValue( null,
Attribute.SRC.toString() );
String title = parser.getAttributeValue( null,
Attribute.TITLE.toString() );
String alt = parser.getAttributeValue( null,
Attribute.ALT.toString() );
+
+ sink.figure();
+
if ( src != null )
{
sink.figureGraphics( src );
}
+
if ( title != null )
{
sink.figureCaption();
@@ -196,6 +198,7 @@
sink.text( alt );
sink.figureCaption_();
}
+
sink.figure_();
}
//
----------------------------------------------------------------------
@@ -252,11 +255,6 @@
{
sink.verbatim_();
}
- else if ( ( parser.getName().equals( Tag.CODE.toString() ) ) || (
parser.getName().equals( Tag.SAMP.toString() ) ) ||
- ( parser.getName().equals( Tag.TT.toString() ) ) )
- {
- sink.monospaced_();
- }
else if ( parser.getName().equals( Tag.UL.toString() ) )
{
sink.list_();
@@ -280,6 +278,11 @@
else if ( ( parser.getName().equals( Tag.I.toString() ) ) || (
parser.getName().equals( Tag.EM.toString() ) ) )
{
sink.italic_();
+ }
+ else if ( ( parser.getName().equals( Tag.CODE.toString() ) ) || (
parser.getName().equals( Tag.SAMP.toString() ) ) ||
+ ( parser.getName().equals( Tag.TT.toString() ) ) )
+ {
+ sink.monospaced_();
}
else if ( parser.getName().equals( Tag.A.toString() ) )
{
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java?rev=583572&r1=583571&r2=583572&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
Wed Oct 10 11:34:11 2007
@@ -19,14 +19,6 @@
* under the License.
*/
-import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
-import org.apache.maven.doxia.parser.Parser;
-import org.apache.maven.doxia.sink.AbstractXmlSink;
-import org.apache.maven.doxia.sink.Sink;
-import org.apache.maven.doxia.sink.StructureSink;
-import org.apache.maven.doxia.util.HtmlTools;
-import org.codehaus.plexus.util.StringUtils;
-
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Map;
@@ -36,6 +28,14 @@
import javax.swing.text.html.HTML.Attribute;
import javax.swing.text.html.HTML.Tag;
+import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
+import org.apache.maven.doxia.parser.Parser;
+import org.apache.maven.doxia.sink.AbstractXmlSink;
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.StructureSink;
+import org.apache.maven.doxia.util.HtmlTools;
+import org.codehaus.plexus.util.StringUtils;
+
/**
* Xhtml sink implementation.
*
@@ -125,7 +125,7 @@
}
/**
- * Reset all the Sink state.
+ * Reset all variables.
*/
protected void resetState()
{
@@ -223,13 +223,20 @@
}
}
- /** [EMAIL PROTECTED] */
+ /**
+ * [EMAIL PROTECTED]
+ * @see javax.swing.text.html.HTML.Tag#BODY
+ */
public void body()
{
writeStartTag( Tag.BODY );
}
- /** [EMAIL PROTECTED] */
+ /**
+ * [EMAIL PROTECTED]
+ * @see javax.swing.text.html.HTML.Tag#BODY
+ * @see javax.swing.text.html.HTML.Tag#HTML
+ */
public void body_()
{
writeEndTag( Tag.BODY );
@@ -248,52 +255,34 @@
*/
public void section1()
{
- MutableAttributeSet att = new SimpleAttributeSet();
- att.addAttribute( Attribute.CLASS, "section" );
-
- writeStartTag( Tag.DIV, att );
+ onSection();
}
/**
- * The default class style is <code>section</code>.
- *
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#DIV
+ * @see javax.swing.text.html.HTML.Tag#H2
*/
- public void section2()
+ public void sectionTitle1()
{
- MutableAttributeSet att = new SimpleAttributeSet();
- att.addAttribute( Attribute.CLASS, "section" );
-
- writeStartTag( Tag.DIV, att );
+ writeStartTag( Tag.H2 );
}
/**
- * The default class style is <code>section</code>.
- *
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#DIV
+ * @see javax.swing.text.html.HTML.Tag#H2
*/
- public void section3()
+ public void sectionTitle1_()
{
- MutableAttributeSet att = new SimpleAttributeSet();
- att.addAttribute( Attribute.CLASS, "section" );
-
- writeStartTag( Tag.DIV, att );
+ writeEndTag( Tag.H2 );
}
/**
- * The default class style is <code>section</code>.
- *
* [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void section4()
+ public void section1_()
{
- MutableAttributeSet att = new SimpleAttributeSet();
- att.addAttribute( Attribute.CLASS, "section" );
-
- writeStartTag( Tag.DIV, att );
+ writeEndTag( Tag.DIV );
}
/**
@@ -302,147 +291,164 @@
* [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void section5()
+ public void section2()
{
- MutableAttributeSet att = new SimpleAttributeSet();
- att.addAttribute( Attribute.CLASS, "section" );
-
- writeStartTag( Tag.DIV, att );
+ onSection();
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#DIV
+ * @see javax.swing.text.html.HTML.Tag#H3
*/
- public void section1_()
+ public void sectionTitle2()
{
- writeEndTag( Tag.DIV );
+ writeStartTag( Tag.H3 );
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#DIV
+ * @see javax.swing.text.html.HTML.Tag#H3
*/
- public void section2_()
+ public void sectionTitle2_()
{
- writeEndTag( Tag.DIV );
+ writeEndTag( Tag.H3 );
}
/**
* [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void section3_()
+ public void section2_()
{
writeEndTag( Tag.DIV );
}
/**
+ * The default class style is <code>section</code>.
+ *
* [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void section4_()
+ public void section3()
{
- writeEndTag( Tag.DIV );
+ onSection();
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#DIV
+ * @see javax.swing.text.html.HTML.Tag#H4
*/
- public void section5_()
+ public void sectionTitle3()
{
- writeEndTag( Tag.DIV );
+ writeStartTag( Tag.H4 );
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H2
+ * @see javax.swing.text.html.HTML.Tag#H4
*/
- public void sectionTitle1()
+ public void sectionTitle3_()
{
- writeStartTag( Tag.H2 );
+ writeEndTag( Tag.H4 );
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H2
+ * @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void sectionTitle1_()
+ public void section3_()
{
- writeEndTag( Tag.H2 );
+ writeEndTag( Tag.DIV );
}
/**
+ * The default class style is <code>section</code>.
+ *
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H3
+ * @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void sectionTitle2()
+ public void section4()
{
- writeStartTag( Tag.H3 );
+ onSection();
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H3
+ * @see javax.swing.text.html.HTML.Tag#H5
*/
- public void sectionTitle2_()
+ public void sectionTitle4()
{
- writeEndTag( Tag.H3 );
+ writeStartTag( Tag.H5 );
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H4
+ * @see javax.swing.text.html.HTML.Tag#H5
*/
- public void sectionTitle3()
+ public void sectionTitle4_()
{
- writeStartTag( Tag.H4 );
+ writeEndTag( Tag.H5 );
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H4
+ * @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void sectionTitle3_()
+ public void section4_()
{
- writeEndTag( Tag.H4 );
+ writeEndTag( Tag.DIV );
}
/**
+ * The default class style is <code>section</code>.
+ *
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H5
+ * @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void sectionTitle4()
+ public void section5()
{
- writeStartTag( Tag.H5 );
+ onSection();
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H5
+ * @see javax.swing.text.html.HTML.Tag#H6
*/
- public void sectionTitle4_()
+ public void sectionTitle5()
{
- writeEndTag( Tag.H5 );
+ writeStartTag( Tag.H6 );
}
/**
* [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#H6
*/
- public void sectionTitle5()
+ public void sectionTitle5_()
{
- writeStartTag( Tag.H6 );
+ writeEndTag( Tag.H6 );
}
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#H6
+ * @see javax.swing.text.html.HTML.Tag#DIV
*/
- public void sectionTitle5_()
+ public void section5_()
{
- writeEndTag( Tag.H6 );
+ writeEndTag( Tag.DIV );
+ }
+
+ /**
+ * Starts a section.
+ *
+ * @param depth The level of the section.
+ * @see javax.swing.text.html.HTML.Tag#DIV
+ */
+ private void onSection()
+ {
+ MutableAttributeSet att = new SimpleAttributeSet();
+ att.addAttribute( Attribute.CLASS, "section" );
+
+ writeStartTag( Tag.DIV, att );
}
// ----------------------------------------------------------------------
@@ -609,6 +615,40 @@
/**
* [EMAIL PROTECTED]
+ * @see javax.swing.text.html.HTML.Tag#IMG
+ */
+ public void figure()
+ {
+ write( String.valueOf( LESS_THAN ) + Tag.IMG );
+ }
+
+ /** [EMAIL PROTECTED] */
+ public void figure_()
+ {
+ write( String.valueOf( SPACE ) + String.valueOf( SLASH ) +
String.valueOf( GREATER_THAN ) );
+ }
+
+ /** [EMAIL PROTECTED] */
+ public void figureGraphics( String name )
+ {
+ write( String.valueOf( SPACE ) + Attribute.SRC + String.valueOf( EQUAL
) + String.valueOf( QUOTE ) + name
+ + String.valueOf( QUOTE ) );
+ }
+
+ /** [EMAIL PROTECTED] */
+ public void figureCaption()
+ {
+ write( String.valueOf( SPACE ) + Attribute.ALT + String.valueOf( EQUAL
) + String.valueOf( QUOTE ) );
+ }
+
+ /** [EMAIL PROTECTED] */
+ public void figureCaption_()
+ {
+ write( String.valueOf( QUOTE ) );
+ }
+
+ /**
+ * [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#P
*/
public void paragraph()
@@ -778,6 +818,8 @@
}
/**
+ * Starts a table cell.
+ *
* @param headerRow true if it is an header row
* @see javax.swing.text.html.HTML.Tag#TH
* @see javax.swing.text.html.HTML.Tag#TD
@@ -797,12 +839,12 @@
justif = "right";
break;
case Parser.JUSTIFY_CENTER:
+ default:
justif = "center";
break;
}
}
-
Tag t = ( headerRow ? Tag.TH : Tag.TD );
MutableAttributeSet att = null;
@@ -885,6 +927,8 @@
}
/**
+ * Ends a table cell.
+ *
* @param headerRow true if it is an header row
* @see javax.swing.text.html.HTML.Tag#TH
* @see javax.swing.text.html.HTML.Tag#TD
@@ -904,6 +948,7 @@
*/
public void tableCaption()
{
+ // TODO: tableCaption should be written before tableRows
writeStartTag( Tag.CAPTION );
}
@@ -918,40 +963,6 @@
/**
* [EMAIL PROTECTED]
- * @see javax.swing.text.html.HTML.Tag#IMG
- */
- public void figure()
- {
- write( String.valueOf( LESS_THAN ) + Tag.IMG );
- }
-
- /** [EMAIL PROTECTED] */
- public void figure_()
- {
- write( String.valueOf( SPACE ) + String.valueOf( SLASH ) +
String.valueOf( GREATER_THAN ) );
- }
-
- /** [EMAIL PROTECTED] */
- public void figureCaption()
- {
- write( String.valueOf( SPACE ) + Attribute.ALT + String.valueOf( EQUAL
) + String.valueOf( QUOTE ) );
- }
-
- /** [EMAIL PROTECTED] */
- public void figureCaption_()
- {
- write( String.valueOf( QUOTE ) );
- }
-
- /** [EMAIL PROTECTED] */
- public void figureGraphics( String name )
- {
- write( String.valueOf( SPACE ) + Attribute.SRC + String.valueOf( EQUAL
) + String.valueOf( QUOTE ) + name
- + String.valueOf( QUOTE ) );
- }
-
- /**
- * [EMAIL PROTECTED]
* @see javax.swing.text.html.HTML.Tag#A
*/
public void anchor( String name )
@@ -1180,16 +1191,13 @@
{
buffer.append( text );
}
+ else if ( verbatimFlag )
+ {
+ verbatimContent( text );
+ }
else
{
- if ( verbatimFlag )
- {
- verbatimContent( text );
- }
- else
- {
- content( text );
- }
+ content( text );
}
}