diff --git a/product/ERP5Type/DocumentationHelper/PortalTypePropertySheetDocumentationHelper.py b/product/ERP5Type/DocumentationHelper/PortalTypePropertySheetDocumentationHelper.py
index 6f3afa8ef28ac50434d82b00b84dcd507cd8c1da..8bde5a5ebb03bab8fb8c4df88c17881b8dfaceac 100644
--- a/product/ERP5Type/DocumentationHelper/PortalTypePropertySheetDocumentationHelper.py
+++ b/product/ERP5Type/DocumentationHelper/PortalTypePropertySheetDocumentationHelper.py
@@ -31,6 +31,14 @@ from AccessControl import ClassSecurityInfo
 from Globals import InitializeClass
 from DocumentationHelper import DocumentationHelper
 from Products.ERP5Type import Permissions
+from Products.CMFCore.utils import getToolByName
+try:
+  from libxml2 import parseDoc, parserError
+  import_succeed = 1
+except ImportError:
+  from xml.dom.minidom import parseString
+  from xml.xpath import Evaluate
+  import_succeed = 0
 
 class PortalTypePropertySheetDocumentationHelper(DocumentationHelper):
   """
@@ -75,20 +83,53 @@ class PortalTypePropertySheetDocumentationHelper(DocumentationHelper):
     if property_sheet_file is not None:
       property_sheet_file.seek(0)
       source_code = property_sheet_file.read()
-      portal_transforms = getattr(self, 'portal_transforms', None)
-      if portal_transforms is not None:
-        REQUEST = getattr(self, 'REQUEST', None)
-        if REQUEST is not None:
-          if REQUEST.get('portal_skin', 'View' ) != 'View':
-            return source_code
-      else:
+      portal_transforms = getToolByName(self, 'portal_transforms')
+      REQUEST = getattr(self, 'REQUEST', None)
+      if REQUEST is not None:
+        view_mode = REQUEST.get('portal_skin', 'View' )
+      if portal_transforms is None:
         LOG('DCWorkflowScriptDocumentationHelper', INFO,
             'Transformation Tool is not installed. No convertion of python script to html')
         return source_code
-    src_mimetype='text/x-python'
-    mime_type = 'text/html'
-    source_html = portal_transforms.convertTo(mime_type, source_code, mimetype = src_mimetype)
-    return source_html.getData()
+      else:
+        if view_mode == 'View':
+          src_mimetype = 'text/x-python'
+          mime_type = 'text/html'
+          source_html = portal_transforms.convertTo(mime_type, source_code, mimetype=src_mimetype)
+          return source_html
+        else:
+          src_mimetype = 'text/x-python'
+          mime_type = 'text/xml'
+          source_xml = portal_transforms.convertToData(mime_type, source_code,
+                                                       mimetype=src_mimetype,
+                                                       context=self, object=self,
+                                                       filename=self.title_or_id()
+                                                       )
+          xpath = '//*[name() = "office:text"]//*[name() = "text:p"]'
+          if import_succeed:
+            #libxml2
+            # parse content.xml
+            xml_doc = parseDoc(source_xml)
+            # the name space text
+            text_ns = xml_doc.getRootElement().searchNs(xml_doc, 'text')
+            # all element text:p
+            text_list = xml_doc.xpathEval(xpath)
+            # all element wich have an text:style-name attribut
+            parent_tag_list = xml_doc.xpathEval('//*[@*[name() = "text:style-name"]]')
+            # Change the attribut text:style-name with a default value
+            [parent_tag.setNsProp(text_ns, 'style-name', 'Preformatted_20_Text') \
+                   for parent_tag in parent_tag_list]
+            xml = ''.join([text.serialize('utf-8', 0) for text in text_list])
+            xml_doc.freeDoc()
+            return xml
+          else:
+            # minidom
+            xml_doc = parseString(source_xml)
+            tag_list = Evaluate (xpath , xml_doc)
+            xml = ''.join(tag.toxml('utf-8') for tag in tag_list)
+            return xml
+    else:
+      return source_code