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 br...@apache.org on 2006/04/07 05:19:47 UTC
svn commit: r392169 -
/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java
Author: brett
Date: Thu Apr 6 20:19:44 2006
New Revision: 392169
URL: http://svn.apache.org/viewcvs?rev=392169&view=rev
Log:
[DOXIA-52] improvements to the FML parser
Submitted by: Vincent Siveton
Modified:
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java
Modified: maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java
URL: http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java?rev=392169&r1=392168&r2=392169&view=diff
==============================================================================
--- maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java (original)
+++ maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/fml/FmlParser.java Thu Apr 6 20:19:44 2006
@@ -16,6 +16,7 @@
* limitations under the License.
*/
+import org.apache.maven.doxia.module.HtmlTools;
import org.apache.maven.doxia.module.fml.model.Faq;
import org.apache.maven.doxia.module.fml.model.Faqs;
import org.apache.maven.doxia.module.fml.model.Part;
@@ -157,7 +158,7 @@
buffer.append( "\"" );
- buffer.append( parser.getAttributeValue( i ) );
+ buffer.append( HtmlTools.escapeHTML( parser.getAttributeValue( i ) ) );
buffer.append( "\"" );
}
@@ -201,6 +202,11 @@
}
else if ( inQuestion || inAnswer )
{
+ if ( buffer.charAt( buffer.length() - 1 ) == ' ' )
+ {
+ buffer.deleteCharAt( buffer.length() - 1 );
+ }
+
buffer.append( "</" );
buffer.append( parser.getName() );
@@ -208,6 +214,15 @@
buffer.append( ">" );
}
}
+ else if ( eventType == XmlPullParser.CDSECT )
+ {
+ if ( buffer != null && parser.getText() != null )
+ {
+ buffer.append( "<![CDATA[" );
+ buffer.append( parser.getText() );
+ buffer.append( "]]>" );
+ }
+ }
else if ( eventType == XmlPullParser.TEXT )
{
if ( buffer != null && parser.getText() != null )
@@ -216,7 +231,7 @@
}
}
- eventType = parser.next();
+ eventType = parser.nextToken();
}
return faqs;
@@ -231,11 +246,11 @@
sink.head_();
sink.body();
- sink.anchor( "top" );
- sink.anchor_();
sink.section1();
sink.sectionTitle1();
+ sink.anchor( "top" );
sink.text( faqs.getTitle() );
+ sink.anchor_();
sink.sectionTitle1_();
// Write summary
@@ -269,9 +284,9 @@
for ( Iterator partIterator = faqs.getParts().iterator(); partIterator.hasNext(); )
{
Part part = (Part) partIterator.next();
- sink.section1();
if ( StringUtils.isNotEmpty( part.getTitle() ) )
{
+ sink.section1();
sink.sectionTitle1();
sink.text( part.getTitle() );
sink.sectionTitle1_();
@@ -303,7 +318,11 @@
sink.definition_();
}
sink.definitionList_();
- sink.section1_();
+
+ if ( StringUtils.isNotEmpty( part.getTitle() ) )
+ {
+ sink.section1_();
+ }
}
sink.body_();
@@ -330,7 +349,7 @@
private void writeTopLink( Sink sink )
{
- sink.rawText( "<table border=0>" );
+ sink.rawText( "<table border=\"0\">" );
sink.rawText( "<tr><td align=\"right\">" );
sink.link( "#top" );
@@ -339,6 +358,5 @@
sink.rawText( "</td></tr>" );
sink.rawText( "</table>" );
-
}
}