Hi Herve,

I haven't looked at the doxia modules for a while, and I am not a docbook expert but IIRC, the doxia docbook module is for Simplified Docbook only and in Simplified DocBook the root element is always <article>.

Correct me if I'm wrong...

Cheers,
-Lukas


[EMAIL PROTECTED] wrote:
Author: hboutemy
Date: Mon Sep 29 05:29:00 2008
New Revision: 700094

URL: http://svn.apache.org/viewvc?rev=700094&view=rev
Log:
there are multiple root element values possible for Docbook format (article, 
but also book, part, chapter, ...)

Modified:
    
maven/doxia/doxia-tools/trunk/doxia-converter/src/main/java/org/apache/maven/doxia/DefaultConverter.java

Modified: 
maven/doxia/doxia-tools/trunk/doxia-converter/src/main/java/org/apache/maven/doxia/DefaultConverter.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-converter/src/main/java/org/apache/maven/doxia/DefaultConverter.java?rev=700094&r1=700093&r2=700094&view=diff
==============================================================================
--- 
maven/doxia/doxia-tools/trunk/doxia-converter/src/main/java/org/apache/maven/doxia/DefaultConverter.java
 (original)
+++ 
maven/doxia/doxia-tools/trunk/doxia-converter/src/main/java/org/apache/maven/doxia/DefaultConverter.java
 Mon Sep 29 05:29:00 2008
@@ -27,10 +27,12 @@
 import java.io.Reader;
 import java.io.Writer;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -111,6 +113,37 @@
     public static final String[] SUPPORTED_TO_FORMAT =
         { APT_SINK, DOCBOOK_SINK, FO_SINK, ITEXT_SINK, LATEX_SINK, RTF_SINK, 
XDOC_SINK, XHTML_SINK };
+ private static final Set DOCBOOK_ROOT_ELEMENT = new HashSet();
+
+    static
+    {
+        DOCBOOK_ROOT_ELEMENT.add( "set" );
+        DOCBOOK_ROOT_ELEMENT.add( "book" );
+        DOCBOOK_ROOT_ELEMENT.add( "part" );
+        DOCBOOK_ROOT_ELEMENT.add( "chapter" );
+        DOCBOOK_ROOT_ELEMENT.add( "section" );
+        DOCBOOK_ROOT_ELEMENT.add( "sect1" );
+        DOCBOOK_ROOT_ELEMENT.add( "sect2" );
+        DOCBOOK_ROOT_ELEMENT.add( "sect3" );
+        DOCBOOK_ROOT_ELEMENT.add( "sect4" );
+        DOCBOOK_ROOT_ELEMENT.add( "sect5" );
+        DOCBOOK_ROOT_ELEMENT.add( "article" );
+        DOCBOOK_ROOT_ELEMENT.add( "preface" );
+        DOCBOOK_ROOT_ELEMENT.add( "partintro" );
+        DOCBOOK_ROOT_ELEMENT.add( "appendix" );
+        DOCBOOK_ROOT_ELEMENT.add( "bibliography" );
+        DOCBOOK_ROOT_ELEMENT.add( "reference" );
+        DOCBOOK_ROOT_ELEMENT.add( "bibliography" );
+        DOCBOOK_ROOT_ELEMENT.add( "bibliodiv" );
+        DOCBOOK_ROOT_ELEMENT.add( "glossary" );
+        DOCBOOK_ROOT_ELEMENT.add( "refentry" );
+        DOCBOOK_ROOT_ELEMENT.add( "refnamediv" );
+        DOCBOOK_ROOT_ELEMENT.add( "refsection" );
+        DOCBOOK_ROOT_ELEMENT.add( "refsect1" );
+        DOCBOOK_ROOT_ELEMENT.add( "refsect2" );
+        DOCBOOK_ROOT_ELEMENT.add( "refsect3" );
+    }
+
     /** Plexus container */
     private PlexusContainer plexus;
@@ -614,7 +647,7 @@
             {
                 continue;
             }
-            else if ( firstTag.equals( "article" )
+            else if ( DOCBOOK_ROOT_ELEMENT.contains( firstTag )
                 && supportedFromFormat.equalsIgnoreCase( DOCBOOK_PARSER ) )
             {
                 return supportedFromFormat;



Reply via email to