Author: ltheussl
Date: Tue May 5 13:11:16 2009
New Revision: 771706
URL: http://svn.apache.org/viewvc?rev=771706&view=rev
Log:
Add notes about entity replacement hacks
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java?rev=771706&r1=771705&r2=771706&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xdoc/src/main/java/org/apache/maven/doxia/module/xdoc/XdocSink.java
Tue May 5 13:11:16 2009
@@ -30,6 +30,7 @@
import org.apache.maven.doxia.sink.SinkUtils;
import org.apache.maven.doxia.sink.XhtmlBaseSink;
import org.apache.maven.doxia.util.HtmlTools;
+
import org.codehaus.plexus.util.StringUtils;
/**
@@ -197,6 +198,8 @@
{
writeStartTag( AUTHOR_TAG );
String text = HtmlTools.escapeHTML( getTextBuffer().toString() );
+ // hack: un-escape numerical entities that have been escaped above
+ // note that numerical entities should really be written as one
unicode character in the first place
text = StringUtils.replace( text, "&#", "&#" );
write( text );
writeEndTag( AUTHOR_TAG );
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java?rev=771706&r1=771705&r2=771706&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
Tue May 5 13:11:16 2009
@@ -28,6 +28,7 @@
import org.apache.maven.doxia.sink.XhtmlBaseSink;
import org.apache.maven.doxia.sink.SinkEventAttributeSet;
import org.apache.maven.doxia.util.HtmlTools;
+
import org.codehaus.plexus.util.StringUtils;
/**
@@ -186,6 +187,8 @@
MutableAttributeSet att = new SinkEventAttributeSet();
att.addAttribute( Attribute.NAME, "author" );
String text = HtmlTools.escapeHTML( getTextBuffer().toString() );
+ // hack: un-escape numerical entities that have been escaped above
+ // note that numerical entities should really be added as one
unicode character in the first place
text = StringUtils.replace( text, "&#", "&#" );
att.addAttribute( Attribute.CONTENT, text );
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java?rev=771706&r1=771705&r2=771706&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
Tue May 5 13:11:16 2009
@@ -319,7 +319,8 @@
sink.title_();
sink.comment( "A comment" );
sink.author();
- sink.text( "Author" );
+ // note: this is really illegal, there should be no un-resolved
entities emitted into text()
+ sink.text( "ģ&" );
sink.author_();
sink.head_();
}
@@ -328,7 +329,8 @@
sink.close();
}
- String exp = "<head><title>Title</title><!-- A comment --><meta
name=\"author\" content=\"Author\" /></head>";
+ String exp =
+ "<head><title>Title</title><!-- A comment --><meta
name=\"author\" content=\"ģ&\" /></head>";
assertTrue( writer.toString().indexOf( exp ) != -1 );
}
}