Author: ltheussl
Date: Sat Jun 13 09:15:56 2009
New Revision: 784352
URL: http://svn.apache.org/viewvc?rev=784352&view=rev
Log:
Symmetrize unknown events. Filter table frame attribute.
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.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=784352&r1=784351&r2=784352&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
Sat Jun 13 09:15:56 2009
@@ -60,6 +60,8 @@
private boolean ignore;
+ private boolean simpleTag;
+
/**
* A selective stack of parent elements
*/
@@ -158,6 +160,7 @@
}
SinkEventAttributeSet attribs = getAttributesFromParser( parser );
+ simpleTag = parser.isEmptyElementTag();
if ( parser.getName().equals(
SimplifiedDocbookMarkup.ARTICLE_TAG.toString() ) )
{
@@ -211,7 +214,14 @@
{
if ( !ignorable( parser.getName() ) )
{
- handleUnknown( parser, sink, HtmlMarkup.TAG_TYPE_START );
+ if ( simpleTag )
+ {
+ handleUnknown( parser, sink, HtmlMarkup.TAG_TYPE_SIMPLE );
+ }
+ else
+ {
+ handleUnknown( parser, sink, HtmlMarkup.TAG_TYPE_START );
+ }
}
}
}
@@ -287,6 +297,7 @@
else if ( parser.getName().equals(
SimplifiedDocbookMarkup.IMAGEOBJECT_TAG.toString() )
|| parser.getName().equals(
SimplifiedDocbookMarkup.FIGURE_TAG.toString() )
|| parser.getName().equals(
SimplifiedDocbookMarkup.THEAD_TAG.toString() )
+ || parser.getName().equals(
SimplifiedDocbookMarkup.TFOOT_TAG.toString() )
|| parser.getName().equals(
SimplifiedDocbookMarkup.TBODY_TAG.toString() ) )
{
parent.pop();
@@ -332,14 +343,14 @@
else if ( BOLD_ELEMENTS.contains( parser.getName() )
&& MONOSPACE_ELEMENTS.contains( parser.getName() ) )
{
- sink.bold_();
sink.monospaced_();
+ sink.bold_();
}
else if ( ITALIC_ELEMENTS.contains( parser.getName() )
&& MONOSPACE_ELEMENTS.contains( parser.getName() ) )
{
- sink.italic_();
sink.monospaced_();
+ sink.italic_();
}
else if ( BOLD_ELEMENTS.contains( parser.getName() ) )
{
@@ -375,6 +386,10 @@
sink.link_();
}
}
+ else if ( !simpleTag && !ignorable( parser.getName() ) )
+ {
+ handleUnknown( parser, sink, HtmlMarkup.TAG_TYPE_END );
+ }
}
/** {...@inheritdoc} */
@@ -669,6 +684,38 @@
private void handleTableStart( Sink sink, SinkEventAttributeSet attribs )
{
+ Object frame = attribs.getAttribute(
SimplifiedDocbookMarkup.FRAME_ATTRIBUTE );
+ if ( frame != null )
+ {
+ String fr = frame.toString();
+ if ( fr.equals( "all" ) )
+ {
+ fr = "box";
+ }
+ else if ( fr.equals( "bottom" ) )
+ {
+ fr = "below";
+ }
+ else if ( fr.equals( "none" ) )
+ {
+ fr = "void";
+ }
+ else if ( fr.equals( "sides" ) )
+ {
+ fr = "vsides";
+ }
+ else if ( fr.equals( "top" ) )
+ {
+ fr = "above";
+ }
+ else if ( fr.equals( "topbot" ) )
+ {
+ fr = "hsides";
+ }
+
+ attribs.addAttribute( SimplifiedDocbookMarkup.FRAME_ATTRIBUTE, fr
);
+ }
+
sink.table( attribs );
parent.push( SimplifiedDocbookMarkup.TABLE_TAG.toString() );
@@ -913,6 +960,7 @@
handleTableStart( sink, attribs );
}
else if ( name.equals( SimplifiedDocbookMarkup.THEAD_TAG.toString() )
+ || name.equals( SimplifiedDocbookMarkup.TFOOT_TAG.toString() )
|| name.equals( SimplifiedDocbookMarkup.TBODY_TAG.toString() )
)
{
parent.push( name );