Author: vsiveton
Date: Mon Jul 27 22:02:53 2009
New Revision: 798303

URL: http://svn.apache.org/viewvc?rev=798303&view=rev
Log:
DOXIA-338: Section numbering and links

o fix it as described

Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java?rev=798303&r1=798302&r2=798303&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextSink.java
 Mon Jul 27 22:02:53 2009
@@ -69,7 +69,7 @@
  * @author <a href="mailto:vincent.sive...@gmail.com";>Vincent Siveton</a>
  * @version $Id$
  */
-public final class ITextSink
+public class ITextSink
     extends SinkAdapter
 {
     /** This is the place where the iText DTD is located. IMPORTANT: this DTD 
is not uptodate! */
@@ -104,7 +104,7 @@
     /** The font object */
     private ITextFont font;
 
-    private int numberDepth = 0;
+    private int numberDepth = 1;
 
     private int depth = 0;
 
@@ -1320,6 +1320,10 @@
         font.addUnderlined();
 
         writeStartElement( ElementTags.ANCHOR );
+        if ( StringUtils.isNotEmpty( name )&& name.startsWith( "#" ) && 
StringUtils.isNotEmpty( header.getTitle() ))
+        {
+            name = "#" + DoxiaUtils.encodeId( header.getTitle(), true ) + "_" 
+ name.substring( 1 );
+        }
         writeAddAttribute( ElementTags.REFERENCE, HtmlTools.escapeHTML( name ) 
);
         writeAddAttribute( ElementTags.FONT, font.getFontName() );
         writeAddAttribute( ElementTags.SIZE, font.getFontSize() );
@@ -1359,6 +1363,10 @@
             throw new NullPointerException( "Anchor name cannot be null!" );
         }
 
+        if ( StringUtils.isNotEmpty( header.getTitle() ) )
+        {
+            name = header.getTitle() + "_" + name;
+        }
         String id = name;
 
         if ( !DoxiaUtils.isValidId( id ) )


Reply via email to