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] */


Reply via email to