--- MoinMoin/formatter/xml_docbook.py.orig	2005-12-01 20:30:07.000000000 -0500
+++ MoinMoin/formatter/xml_docbook.py	2006-01-12 14:39:36.000000000 -0500
@@ -132,7 +132,7 @@
     def endDocument(self):
         return self.outputFormatter.getFooter()
 
-    def text(self, text):
+    def text(self, text, **kw):
         if text == "\\n":
             srcText = "\n"
         else:
@@ -183,7 +183,7 @@
 
         return ""
 
-    def paragraph(self, on):
+    def paragraph(self, on, **kw):
         FormatterBase.paragraph(self, on)
         if on:
             para = self.doc.createElement("para")
@@ -269,40 +269,40 @@
 
         return self._handleNode(name, on, attributes)
 
-    def strong(self, on):
+    def strong(self, on, **kw):
         return self._handleFormatting("emphasis", on, (('role','strong'), ))
 
-    def emphasis(self, on):
+    def emphasis(self, on, **kw):
         return self._handleFormatting("emphasis", on)
 
-    def underline(self, on):
+    def underline(self, on, **kw):
         return self._handleFormatting("emphasis", on, (('role','underline'), ))
 
-    def highlight(self, on):
+    def highlight(self, on, **kw):
         return self._handleFormatting("emphasis", on, (('role','highlight'), ))
 
-    def sup(self, on):
+    def sup(self, on, **kw):
         return self._handleFormatting("superscript", on)
 
-    def sub(self, on):
+    def sub(self, on, **kw):
         return self._handleFormatting("subscript", on)
 
-    def strike(self, on):
+    def strike(self, on, **kw):
         # does not yield <strike> using the HTML XSLT files here ...
         # but seems to be correct
         return self._handleFormatting("emphasis", on,
                                       (('role','strikethrough'), ))
 
-    def code(self, on, **kwargs):
+    def code(self, on, **kw):
         return self._handleFormatting("code", on)
 
-    def preformatted(self, on):
+    def preformatted(self, on, **kw):
         return self._handleFormatting("screen", on)
 
 
 ### Lists ###########################################################
 
-    def number_list(self, on, type=None, start=None):
+    def number_list(self, on, type=None, start=None, **kw):
         docbook_ol_types = {'1': "arabic", 
                             'a': "loweralpha", 
                             'A': "upperalpha",
@@ -316,16 +316,16 @@
 
         return self._handleNode('orderedlist', on, attrs)
 
-    def bullet_list(self, on):
+    def bullet_list(self, on, **kw):
         return self._handleNode("itemizedlist", on)
 
-    def definition_list(self, on):
+    def definition_list(self, on, **kw):
         return self._handleNode("glosslist", on)        
 
     '''When on is false, we back out just on level. This is
        ok because we know definition_desc gets called, and we
        back out two levels there'''
-    def definition_term(self, on, compact=0):
+    def definition_term(self, on, compact=0, **kw):
         if on:
             entry=self.doc.createElement('glossentry')
             term=self.doc.createElement('glossterm')
@@ -337,7 +337,7 @@
         return ""
    
     '''We backout two levels when 'on' is false, to leave the glossentry stuff'''
-    def definition_desc(self, on):
+    def definition_desc(self, on, **kw):
         if on:
             return self._handleNode("glossdef", on)
         else:
@@ -381,7 +381,8 @@
         self._handleNode("ulink", False)
         return ""
 
-    def anchorlink(self, on, name='', id=None):
+    def anchorlink(self, on, name='', **kw):
+        id = kw.get('id',None)
         attrs = []
         if name != '':
             attrs.append(('endterm', name))
@@ -438,7 +439,9 @@
 
 
 ### Images and Smileys ##############################################
-    def image(self, **kw):
+    def image(self, src=None, **kw):
+        if src:
+            kw['src']=src
         media = self.doc.createElement('inlinemediaobject')
 
         imagewrap = self.doc.createElement('imageobject')
@@ -477,7 +480,7 @@
 
     #FIXME: We should copy code from text_html.py for attr handling
 
-    def table(self, on, attrs=None):
+    def table(self, on, attrs=None, **kw):
         sanitized_attrs = []
         if attrs and attrs.has_key('id'):
             sanitized_attrs[id] = attrs['id']
@@ -489,14 +492,14 @@
         self._handleNode("tbody", on)
         return ""
     
-    def table_row(self, on, attrs=None):
+    def table_row(self, on, attrs=None, **kw):
         self.table_current_row_cells = 0
         sanitized_attrs = []
         if attrs and attrs.has_key('id'):
             sanitized_attrs[id] = attrs['id']
         return self._handleNode("row", on, sanitized_attrs)
 
-    def table_cell(self, on, attrs=None):
+    def table_cell(self, on, attrs=None, **kw):
         # Finish row definition
         sanitized_attrs = []
         if attrs and attrs.has_key('id'):
@@ -572,11 +575,11 @@
         return u""
 
 ### Not supported ###################################################
-    def rule(self, size = 0):
+    def rule(self, size = 0, **kw):
         return ""
 
-    def small(self, on):
+    def small(self, on, **kw):
         return ""
 
-    def big(self, on):
+    def big(self, on, **kw):
         return ""
