Update of /var/cvs/applications/richtext/src/org/mmbase/richtext/transformers
In directory 
james.mmbase.org:/tmp/cvs-serv25148/src/org/mmbase/richtext/transformers

Modified Files:
        XmlField.java 
Log Message:
Made also 'wiki' syntax understand br's


See also: 
http://cvs.mmbase.org/viewcvs/applications/richtext/src/org/mmbase/richtext/transformers


Index: XmlField.java
===================================================================
RCS file: 
/var/cvs/applications/richtext/src/org/mmbase/richtext/transformers/XmlField.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- XmlField.java       25 Mar 2008 17:07:59 -0000      1.5
+++ XmlField.java       22 Apr 2008 11:16:59 -0000      1.6
@@ -34,7 +34,7 @@
  * Like [EMAIL PROTECTED] org.mmbase.util.transformers.XmlField} but adds 
everything related to the MMXF doctype. This means basicly that it knows how to 
surround <mmxf />
  *
  * @author Michiel Meeuwissen
- * @version $Id: XmlField.java,v 1.5 2008/03/25 17:07:59 michiel Exp $
+ * @version $Id: XmlField.java,v 1.6 2008/04/22 11:16:59 michiel Exp $
  * @todo   THIS CLASS NEEDS A CONCEPT! It gets a bit messy.
  */
 
@@ -48,6 +48,7 @@
     public final static int BODY     = 3;
     public final static int XML      = 4;
     public final static int WIKI     = 12;
+    public final static int WIKIBRS  = 13;
 
     // default doctype
     public final static String XML_DOCTYPE = "<!DOCTYPE mmxf PUBLIC \"" + 
Mmxf.DOCUMENTTYPE_PUBLIC + "\" \"" + Mmxf.DOCUMENTTYPE_SYSTEM + "\">\n";
@@ -77,11 +78,14 @@
     private static Pattern wikiSection = 
Pattern.compile("<section><h>\\[(\\w+)\\]");
     private static Pattern wikiAnchor = Pattern.compile("\\[(\\w+)\\]");
 
-    public static String wikiToXML(String data, boolean placeListsInsideP) {
+    public static String wikiToXML(String data, boolean leaveExtraNewLines, 
boolean placeListsInsideP) {
         Matcher wrappingAnchors = 
wikiWrappingAnchor.matcher(prepareDataString(data));
         data = wrappingAnchors.replaceAll("<a id=\"$1\">$2</a>");
         StringObject obj = new StringObject(data);
-        handleRich(obj, true, false, true, placeListsInsideP);
+        handleRich(obj, true, leaveExtraNewLines, true, placeListsInsideP);
+        if (leaveExtraNewLines) {
+            handleNewlines(obj);
+        }
         handleFormat(obj, false);
         String string = obj.toString();
         Matcher ps = wikiP.matcher(string);
@@ -93,7 +97,7 @@
         return string;
     }
     public static String wikiToXML(String data) {
-        return wikiToXML(data, false);
+        return wikiToXML(data, true, false);
     }
 
     /**
@@ -128,6 +132,7 @@
         case POOR :
             return XSLTransform("mmxf2rich.xslt", data);
         case WIKI :
+        case WIKIBRS :
             return XSLTransform("2rich.xslt", data);
         case XHTML :
             return XSLTransform("mmxf2xhtml.xslt", data);
@@ -151,7 +156,11 @@
                 validate(XML_HEADER + result);
                 break;
             case WIKI :
-                result = XML_TAGSTART + wikiToXML(r, LISTS_INSIDE_P) + 
XML_TAGEND;
+                result = XML_TAGSTART + wikiToXML(r, false,  LISTS_INSIDE_P) + 
XML_TAGEND;
+                validate(XML_HEADER + result);
+                break;
+            case WIKIBRS :
+                result = XML_TAGSTART + wikiToXML(r, true, LISTS_INSIDE_P) + 
XML_TAGEND;
                 validate(XML_HEADER + result);
                 break;
             case BODY :
@@ -181,6 +190,10 @@
             return "MMXF_ASCII";
         case XML :
             return "MMXF_MMXF";
+        case WIKI :
+            return "MMXF_WIKI";
+        case WIKIBRS :
+            return "MMXF_WIKIBRS";
         default :
             return super.getEncoding();
         }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to