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