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/04/02 14:17:16 UTC
svn commit: r761262 - in
/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src:
main/java/org/apache/maven/doxia/module/fo/
test/java/org/apache/maven/doxia/module/fo/
Author: ltheussl
Date: Thu Apr 2 12:17:15 2009
New Revision: 761262
URL: http://svn.apache.org/viewvc?rev=761262&view=rev
Log:
[DOXIA-304] FO Sink does not recognize attributes of img tags
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java?rev=761262&r1=761261&r2=761262&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoAggregateSink.java Thu Apr 2 12:17:15 2009
@@ -30,6 +30,7 @@
import org.apache.maven.doxia.document.DocumentModel;
import org.apache.maven.doxia.document.DocumentTOC;
import org.apache.maven.doxia.document.DocumentTOCItem;
+import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.apache.maven.doxia.util.DoxiaUtils;
import org.apache.maven.doxia.util.HtmlTools;
@@ -226,22 +227,24 @@
/** {@inheritDoc} */
public void figureGraphics( String name )
{
- if ( !isFigure() )
- {
- write( "<fo:external-graphic" + getFoConfiguration().getAttributeString( "figure.graphics" ) );
- }
+ figureGraphics( name, null );
+ }
- String anchor = name;
+ /** {@inheritDoc} */
+ public void figureGraphics( String src, SinkEventAttributes attributes )
+ {
+ String anchor = src;
- if ( name.startsWith( "../" ) && docName != null )
+ if ( src.startsWith( "../" ) && docName != null )
{
- anchor = resolveLinkRelativeToBase( name );
+ anchor = resolveLinkRelativeToBase( src );
}
- writeln( " src=\"" + anchor + "\"/>" );
+ super.figureGraphics( anchor, attributes );
}
+
/** {@inheritDoc} */
public void anchor( String name )
{
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java?rev=761262&r1=761261&r2=761262&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/main/java/org/apache/maven/doxia/module/fo/FoSink.java Thu Apr 2 12:17:15 2009
@@ -26,12 +26,14 @@
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.SimpleAttributeSet;
+import javax.swing.text.html.HTML.Attribute;
import javax.swing.text.html.HTML.Tag;
import org.apache.maven.doxia.sink.AbstractXmlSink;
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.doxia.sink.SinkEventAttributeSet;
import org.apache.maven.doxia.sink.SinkEventAttributes;
+import org.apache.maven.doxia.sink.SinkUtils;
import org.apache.maven.doxia.util.DoxiaUtils;
import org.apache.maven.doxia.util.HtmlTools;
import org.codehaus.plexus.util.StringUtils;
@@ -85,7 +87,7 @@
private boolean verbatim;
/** figure flag. */
- private boolean figure;
+ private boolean inFigure;
private String encoding;
@@ -574,17 +576,15 @@
/** {@inheritDoc} */
public void figure()
{
- this.figure = true;
+ this.inFigure = true;
writeEOL();
writeStartTag( BLOCK_TAG, "figure.display" );
- write( "<fo:external-graphic"
- + config.getAttributeString( "figure.graphics" ) );
}
/** {@inheritDoc} */
public void figure_()
{
- this.figure = false;
+ this.inFigure = false;
writeEndTag( BLOCK_TAG );
writeEOL();
}
@@ -592,12 +592,27 @@
/** {@inheritDoc} */
public void figureGraphics( String name )
{
- if ( !isFigure() )
+ figureGraphics( name, null );
+ }
+
+ /** {@inheritDoc} */
+ public void figureGraphics( String src, SinkEventAttributes attributes )
+ {
+ MutableAttributeSet atts = config.getAttributeSet( "figure.graphics" );
+ atts.addAttribute( Attribute.SRC.toString(), src );
+
+ if ( attributes != null && attributes.isDefined( SinkEventAttributes.WIDTH ) )
{
- write( "<fo:external-graphic" + config.getAttributeString( "figure.graphics" ) );
+ atts.addAttribute( "content-width", attributes.getAttribute( SinkEventAttributes.WIDTH ) );
}
- writeln( " src=\"" + name + "\"/>" );
+ if ( attributes != null && attributes.isDefined( SinkEventAttributes.HEIGHT ) )
+ {
+ atts.addAttribute( "content-height", attributes.getAttribute( SinkEventAttributes.HEIGHT ) );
+ }
+
+ writeln( "<fo:external-graphic" + SinkUtils.getAttributeString( atts ) + "/>" );
+
}
/**
@@ -607,7 +622,7 @@
*/
protected boolean isFigure()
{
- return this.figure;
+ return this.inFigure;
}
/** {@inheritDoc} */
@@ -626,7 +641,21 @@
/** {@inheritDoc} */
public void paragraph()
{
- writeStartTag( BLOCK_TAG, "normal.paragraph" );
+ paragraph( null );
+ }
+
+ /** {@inheritDoc} */
+ public void paragraph( SinkEventAttributes attributes )
+ {
+ MutableAttributeSet atts = config.getAttributeSet( "normal.paragraph" );
+
+ if ( attributes != null && attributes.isDefined( SinkEventAttributes.ALIGN ) )
+ {
+ atts.addAttribute( "text-align", attributes.getAttribute( SinkEventAttributes.ALIGN ) );
+ }
+
+ writeEOL();
+ writeStartTag( BLOCK_TAG, atts );
}
/** {@inheritDoc} */
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java?rev=761262&r1=761261&r2=761262&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-fo/src/test/java/org/apache/maven/doxia/module/fo/FoSinkTest.java Thu Apr 2 12:17:15 2009
@@ -276,8 +276,8 @@
String dlAtts = getConfig().getAttributeString( "figure.display" );
String dtAtts = getConfig().getAttributeString( "figure.graphics" );
String ddAtts = getConfig().getAttributeString( "figure.caption" );
- return EOL + EOL + "<fo:block" + dlAtts + "><fo:external-graphic" + dtAtts
- + " src=\"" + source + "\"/>" + EOL + EOL + "<fo:block" + ddAtts
+ return EOL + EOL + "<fo:block" + dlAtts + "><fo:external-graphic"
+ + " src=\"" + source + "\"" + dtAtts + "/>" + EOL + EOL + "<fo:block" + ddAtts
+ ">" + caption + "</fo:block>" + EOL + "</fo:block>" + EOL;
}