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:[email protected]">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 ) )