Author: ltheussl
Date: Sun Oct 28 13:01:40 2007
New Revision: 589410
URL: http://svn.apache.org/viewvc?rev=589410&view=rev
Log:
Various fixes:
- add author and date parsing
- fix numbered list item parsing
- don't emit paragraphs in table cells
- fix bold events parsing
- fix lineBreak and horizontalRule parsing
- add tableHeaderCell to sink (there is still a problem parsing it)
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java?rev=589410&r1=589409&r2=589410&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java
Sun Oct 28 13:01:40 2007
@@ -54,6 +54,11 @@
private int level = -1;
/**
+ * Used to distinguish italic from bold.
+ */
+ private boolean isBold;
+
+ /**
* A selective stack of parent elements
*/
private Stack parent = new Stack();
@@ -273,6 +278,10 @@
{
sink.definition();
}
+ else if ( isParent( ORDEREDLIST_TAG.toString() ) )
+ {
+ sink.numberedListItem();
+ }
else
{
sink.listItem();
@@ -377,6 +386,13 @@
{
sink.bold();
}
+ else if ( DocBookParser.ITALIC_ELEMENTS.contains( parser.getName() )
+ && "bold".equals( parser.getAttributeValue( null, "role" ) ) )
+ {
+ sink.bold();
+
+ isBold = true;
+ }
else if ( DocBookParser.ITALIC_ELEMENTS.contains( parser.getName() ) )
{
sink.italic();
@@ -423,6 +439,14 @@
sink.sectionTitle5();
}
}
+ else if ( parser.getName().equals( CORPAUTHOR_TAG.toString() ) )
+ {
+ sink.author();
+ }
+ else if ( parser.getName().equals( DATE_TAG.toString() ) )
+ {
+ sink.date();
+ }
else if ( parser.getName().equals( ULINK_TAG.toString() ) )
{
String url = getAttributeValue( parser, URL_TAG.toString() );
@@ -530,6 +554,10 @@
{
sink.definition_();
}
+ else if ( isParent( ORDEREDLIST_TAG.toString() ) )
+ {
+ sink.numberedListItem_();
+ }
else
{
sink.listItem_();
@@ -626,7 +654,16 @@
}
else if ( DocBookParser.ITALIC_ELEMENTS.contains( parser.getName() ) )
{
- sink.italic_();
+ if ( isBold )
+ {
+ sink.bold_();
+
+ isBold = false;
+ }
+ else
+ {
+ sink.italic_();
+ }
}
else if ( DocBookParser.MONOSPACE_ELEMENTS.contains( parser.getName()
) )
{
@@ -670,6 +707,14 @@
sink.sectionTitle5_();
}
}
+ else if ( parser.getName().equals( CORPAUTHOR_TAG.toString() ) )
+ {
+ sink.author_();
+ }
+ else if ( parser.getName().equals( DATE_TAG.toString() ) )
+ {
+ sink.date_();
+ }
else if ( parser.getName().equals( ULINK_TAG.toString() ) ||
parser.getName().equals( LINK_TAG.toString() ) )
{
if ( isParent( parser.getName() ) )
@@ -716,6 +761,14 @@
if ( "PB".equals( text.trim() ) )
{
sink.pageBreak();
+ }
+ else if ( "HR".equals( text.trim() ) )
+ {
+ sink.horizontalRule();
+ }
+ else if ( "LB".equals( text.trim() ) )
+ {
+ sink.lineBreak();
}
else
{
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java?rev=589410&r1=589409&r2=589410&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookSink.java
Sun Oct 28 13:01:40 2007
@@ -1280,22 +1280,36 @@
/**
* [EMAIL PROTECTED]
* @see DocbookMarkup#ENTRY_TAG
- * @see DocbookMarkup#PARA_TAG
*/
public void tableCell()
{
writeStartTag( ENTRY_TAG );
- writeStartTag( PARA_TAG );
}
/**
* [EMAIL PROTECTED]
* @see DocbookMarkup#ENTRY_TAG
- * @see DocbookMarkup#PARA_TAG
*/
public void tableCell_()
{
- writeEndTag( PARA_TAG );
+ writeEndTag( ENTRY_TAG );
+ }
+
+ /**
+ * [EMAIL PROTECTED]
+ * @see DocbookMarkup#ENTRY_TAG
+ */
+ public void tableHeaderCell()
+ {
+ writeStartTag( ENTRY_TAG );
+ }
+
+ /**
+ * [EMAIL PROTECTED]
+ * @see DocbookMarkup#ENTRY_TAG
+ */
+ public void tableHeaderCell_()
+ {
writeEndTag( ENTRY_TAG );
}
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java?rev=589410&r1=589409&r2=589410&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookSinkTest.java
Sun Oct 28 13:01:40 2007
@@ -144,8 +144,8 @@
protected String getTableBlock( String cell, String caption )
{
return "<table frame=\"none\" rowsep=\"0\" colsep=\"0\"><title>" +
caption
- + "</title><tgroup cols=\"1\"><colspec
align=\"center\"></colspec><tbody><row><entry><para>"
- + cell + "</para></entry></row></tbody></tgroup></table>";
+ + "</title><tgroup cols=\"1\"><colspec
align=\"center\"></colspec><tbody><row><entry>"
+ + cell + "</entry></row></tbody></tgroup></table>";
}
/** [EMAIL PROTECTED] */