You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by lt...@apache.org on 2009/06/08 16:39:34 UTC

svn commit: r782653 - in /maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src: main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java

Author: ltheussl
Date: Mon Jun  8 14:39:34 2009
New Revision: 782653

URL: http://svn.apache.org/viewvc?rev=782653&view=rev
Log:
[DOXIA-334] Docbook parser shouldn't insert anchors for id attributes

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/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.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=782653&r1=782652&r2=782653&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 Mon Jun  8 14:39:34 2009
@@ -147,9 +147,6 @@
 
         SinkEventAttributeSet attribs = getAttributesFromParser( parser );
 
-        // TODO: remove
-        handleIdAnchor( parser, sink, attribs );
-
         if ( parser.getName().equals( SimplifiedDocbookMarkup.ARTICLE_TAG.toString() ) )
         {
             handleArticleStart( sink, attribs );
@@ -285,6 +282,10 @@
         {
             handleXrefStart( sink, attribs );
         }
+        else if ( parser.getName().equals( SimplifiedDocbookMarkup.ANCHOR_TAG.toString() ) )
+        {
+            handleAnchorStart( sink, attribs );
+        }
         else
         {
             if ( !ignorable( parser.getName() ) )
@@ -558,18 +559,13 @@
         parent.push( name );
     }
 
-    private void handleIdAnchor( XmlPullParser parser, Sink sink, SinkEventAttributeSet attribs  )
+    private void handleAnchorStart( Sink sink, SinkEventAttributeSet attribs  )
     {
         Object id = attribs.getAttribute( SimplifiedDocbookMarkup.ID_ATTRIBUTE );
-        //catch link targets
-        if ( id != null && !parser.getName().equals( SimplifiedDocbookMarkup.ARTICLE_TAG.toString() ) )
-        {
-            sink.anchor( id.toString() );
 
-            if ( !parser.getName().equals( SimplifiedDocbookMarkup.ANCHOR_TAG.toString() ) )
-            {
-                sink.anchor_();
-            }
+        if ( id != null )
+        {
+            sink.anchor( id.toString(), attribs );
         }
     }
 

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.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/DocBookParserTest.java?rev=782653&r1=782652&r2=782653&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java Mon Jun  8 14:39:34 2009
@@ -155,33 +155,22 @@
         parser.parse( text, sink );
         Iterator it = sink.getEventList().iterator();
 
-        // FIXME: anchors should be removed
-
         SinkEventElement event = (SinkEventElement) it.next();
         assertEquals( "head", event.getName() );
         assertEquals( " id=article", event.getArgs()[0].toString() );
         assertEquals( "head_", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "body", ( (SinkEventElement) it.next() ).getName() );
 
-        assertEquals( "anchor", ( (SinkEventElement) it.next() ).getName() );
-        assertEquals( "anchor_", ( (SinkEventElement) it.next() ).getName() );
-
         event = (SinkEventElement) it.next();
         assertEquals( "section1", event.getName() );
         assertEquals( " id=section", event.getArgs()[0].toString() );
 
-        assertEquals( "anchor", ( (SinkEventElement) it.next() ).getName() );
-        assertEquals( "anchor_", ( (SinkEventElement) it.next() ).getName() );
-
         event = (SinkEventElement) it.next();
         assertEquals( "sectionTitle1", event.getName() );
         assertEquals( " id=title", event.getArgs()[0].toString() );
         assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
         assertEquals( "sectionTitle1_", ( (SinkEventElement) it.next() ).getName() );
 
-        assertEquals( "anchor", ( (SinkEventElement) it.next() ).getName() );
-        assertEquals( "anchor_", ( (SinkEventElement) it.next() ).getName() );
-
         event = (SinkEventElement) it.next();
         assertEquals( "paragraph", event.getName() );
         assertEquals( " id=para", event.getArgs()[0].toString() );