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() );