Import and export: Difference between revisions

From FreeMind
Jump to navigationJump to search
No edit summary
(spam removed)
Line 1: Line 1:
== Export and import in general ==


* There is an import/export to '''Microsoft Excel''' by drag & drop or copy & paste of complete nodes. Also the other way round is possible. Just copy a selection of cells in Excel and drop it in FreeMind. Doing this with several columns, creates corresponding child nodes. It also works with the spreadsheet part of '''OpenOffice'''.
* To export to '''OpenOffice Writer''' (and presumably '''Microsoft Word''' too - select all in the mind map, then go to OpenOffice Writer and "paste". NOTE - for this to work as expected / desired - ALL of the nodes should be to the right side of the main/parent node in the mind map. The outline appears to be generated from left to right (not positive about this...)  Re: Word:  copy-paste when some items to left of main node, results in duplicated branches, some not under right parents. Not recommended -- [[User:DAE]] 21 June 2006
* Also '''tab-indented outlines''' will be pasted to FreeMind, including their tree structure.
* [http://freemind.freezope.org/FreemindWiki/ImportAndExportToEmacsAndWikipediaOutlines Import and export to Emacs and Wikipedia-outlines]
* There are more possibilities, e. g. import from '''KeyNote'''. I just forgot where that was documented.
: I do not know of a possibility to import from [http://www.tranglos.com/free/keynote.html KeyNote]. --[[User:Danielpolansky|Danielpolansky]] 13:01, 8 Nov 2005 (PST)
* '''HTML-''' and XML-export is pretty obvious from FreeMinds menu. 
* You can copy part of a web page in your browser and paste it to FreeMind. FreeMind analyzes the tree structure in the HTML and builds a mind map. The other formatting (bold, font sizes, etc.) is not taken into FreeMind though.
* [http://kutsam.at/home/johannes/content/view/15/4/ Get yourself] XSL scripts for conversion between FreeMind and [http://ganttproject.sourceforge.net/ '''ganttproject'''].
* [http://freemind.freezope.org/FreemindWiki/MindManager MindManager]: Download [http://krottmaier.cgv.tugraz.at/docs/seminar/sem2002_mindmaps.tar.gz XSLT transformation sheets] from Christoph Rissner. Then you can convert mind maps from FreeMind's XML format to a different XML format, which can then be directly imported to [http://freemind.freezope.org/FreemindWiki/MindManager MindManager]. Read more [http://krottmaier.cgv.tugraz.at/veranstaltungen/seminar/abgeschlossen.html here (HTML)] or [http://krottmaier.cgv.tugraz.at/docs/seminar/sem2002_mindmaps.pdf here (PDF)].
* Easy FreeMind to MindManager: Export the FreeMind map to HTML with no folding from the File menu in FreeMind. Open the HTML in Microsoft Word and save the map as a Word ".doc" file. Open the .doc in [[MindManager]]. [[MindManager]] supports the direct import of Word files as well as other Microsoft Office documents.
* Almost every outliner should be capable of exporting to a tab-indented outline. This can be pasted to FreeMind.


[http://www.action-meds.com cheap butalbital]
== Export to Emacs and Wikipedia outlines ==
[http://www.5stardrugs.com buy tramadol]
[http://www.24-7pills.net tramadol online]
[http://www.american-meds.net butalbital discount]
[http://www.amazing-pills.com butalbital cheap]
buy tramadol online. online tramadol from our pharmacy, taking tramadol buy information tramadol, side effects tramadol, purchase tramadol online. cod online tramadol, tramadol india, cheap tramadol online, tramadol online, pharmacy online store
tramadol 50 mg. low price tramadol, tramadol pain treatment - tramadol hcl 50? - 120 tramadol. tramadol sales, buying cod tramado l, tramadol for humans, cheap tramadol online, overdose tramadol. order tramadol pictured tramadol pill tramadol seizure. cod tramadol cod, tramadol pdr, order pharmacy tramadol. buy prescription tramadol drug tramadol - tramadol side.
is tramadol a, order tramadol online, tramadol hcl, tramadol drug test .tramadol uses order tramadol overnight paypal tramadol
tramadol com tramadol tablets tramadol no perscription remove tramadol.
[http://20six.co.uk/cheaptramadol cheap tramadol]
[http://20six.co.uk/ordertramadol order tramadol]
[http://20six.co.uk/onlinetramadol1 online tramadol]
[http://20six.co.uk/tramadolonline tramadol online]
[http://20six.co.uk/tramadoldiscount tramadol discount]
[http://20six.co.uk/purchasetramadol purchase tramadol]
[http://20six.co.uk/ordersoma order soma]
[http://20six.co.uk/onlinesoma1 online soma]
[http://20six.co.uk/online-viagra online viagea]
[http://20six.co.uk/orderviagra order viagra]
[http://20six.co.uk/cheapviagraonline cheap viagra online]
[http://20six.co.uk/purchaseviagra purchase viagra]
[http://20six.co.uk/cheap-ultram cheap ultram]


[http://spaces.msn.com/cheap-tramadol/ cheap tramadol]
There are two ways how to export FreeMind's mind map to the outline format understood by Emacs outlining mode and Wikipedia. Their descriptions follow.
[http://spaces.msn.com/buy-viagra/ buy viagra]


SEO: UndoneHeaven
=== Use conversion scripts ===


[http://www.replicahours.com rolex replica]
Our user has created two perl scripts for conversion between FreeMind and Emacs's outline.
[http://www.replicahours.com/index.php?cPath=51_25 fake rolex daydate]
<!--
[http://www.replicahours.com/index.php?cPath=29 replica swiss]
[http://www.google.com/search?sourceid=navclient&gfns=1&ie=UTF-8&q=replicahours replicahours]
buy replica cheap best price rolex discounf fake. watches fake watch online store using paypal fedex rolex replicahours. order rolex replica now. cheap wholesale fake rolex online free shipping. 80% discount rolex replica and replicas watches. woman how to adjust a chronometer watch authorized rolex dealer, rolex watches rolex dial rolex oyster perpetual date reloj panerai replica en usa rolex watches serial numbers rolex woman daytona daytona watch replica panerai watch rolex 50th anniversary rolex daytona paul newman replica rolex buy rolex watches. ladies rolex yachtmaster white dial faux. rolex daytona manual cellini rolex for sale pictures of rolex oyster perpetual datejust rolex rolex gmt-master ii buying rolex on line fake rolex daytona gold on silver how to tell fake tag rolex oyster perpetual new tell. Replica rolex? Swiss made replica rolex watch! Cost does fake much rolex rolex presidential rolex. Rolex dials rolex sea dweller. Rolex  tudor fake rolex turkey datejust oyster perpetual rolex man rolex submariner cosmograph daytona oyster professional rolex? Datejust rolex rolex replica rolex fake rolexes for sale. Rolex submariner for sale, rolex yachtmaster! Explorer ii rolex preowned rolex watch? Cheap rolex watch, rolex daytona 116520 forum rolex. 18k gold replica ex part rolex daytona review rolex submariner 50 anniversary rolex cellini replica rolex watch fake rolex omega?


[http://www.customsoftwarenow.com custom software development]
* [[mm2outline]] will convert a FreeMind-mindmap to a format suitable for Emacs and Wikipedia-style-outlines (and with the option '-z' probably also for this wiki (Zwiki), not yet tested).
Software Development, custom software development, offshore  software development, outsourcing software development


[http://www.thepublish.com press release]
* [[outline2mm]] will convert a Emacs-outline to a FreeMind-mindmap. This should also work with Wikipedia-style-outlines
press release, articles, business directory, ezines, classifieds, job search,business free  b2b search advertising aerospace defense agriculture airlines automotive chemicals computers electronics semiconductors energy utilities


[http://www.ez-agents.com wholesale atv]
-->
 
* [http://www.clemburg.com/install/mm2outline mm2outline] for Emacs outline (Perl) (This version does not work for wikipedia!)
* [http://www.clemburg.com/install/outline2mm outline2mm] for Emacs outline (Perl)
 
=== Patch FreeMind to paste outline to clipboard ===
 
Patching the source code is sensible, only if you are a software developer. In FreeMind's source in modes/mindmapmode/!MindMapNodeModel.java replace the lines
 
  for (int i=0; i < depth; ++i) {
    fileout.write("    "); }
         
  if (this.toString().matches(" *")) {
 
with
 
  for (int i=0; i < depth; ++i) {
    fileout.write("*"); }  //changed
         
  fileout.write(" ");  // new
         
  if (this.toString().matches(" *")) {
 
and if you copy a node in FreeMind you will find an Emacs/Wiki outline in the clipboard!
 
See also: [[How to compile FreeMind]]
 
Does anybody know how to patch FreeMind that it will also import these outline?
(I made an "RFE":http://sourceforge.net/tracker/index.php?func=detail&aid=932531&group_id=7118&atid=357118 out of this.)
 
== Export and import from MindManager ==
 
=== Indirect MindManager 4.0 to FreeMind conversion ===
 
How I converted all my mindmanager-mindmaps to freemind in one go. This works for me. Perhaps not for you.
Mindmanager 4.0: MMScript?-Editor has a problem with: Dim mm As MmImageType?
 
# Download Download XSLT transformations sheets from Christoph Rissner from http://hkrott.iicm.edu/docs/seminar/sem2002_mindmaps.tar.gz and extract. You need some of those files in step 4 an step 8.
# Open Mindmap in Mindmanager 2002 (With Mindmanager 4.0 I had a problem with "Dim mm As MmImageType?". You CAN use further the MMScript?-Editor after the 21-days-trial-tim)
# Menu->Tools->MMScript?-Editor
# MMScript?-Editor: Menu->Open File->exportXML.MMScript? (see step 1)
# Menu->Makro->Ausführen (or key "F5")
# (x) Export whole map, Choose destination file, (OK)
# Copy all xml-Files in a new directory or make of cource a backup of all your mindmaps! Sorry windows, with linux the following conversion is very easy. Perhaps do it with windows with a batch-file or something else.
# Save the following bash-script to "mmtofmconvert" and make it executable with "chmod a+x mmtofmconvert":
  #! /bin/sh
  # mmtofm-convert
  # Leerzeichen in Dateinamen in _ umwandeln
  for f in *\ *; do mv "$f" "`echo $f | tr \  _`"; done
  # xml-Dateien in mm umwandeln
  # Pfad zur Datei mm2fm.xslt muss angepasst werden! See step 1
  # xsltproc:  http://xmlsoft.org/XSLT/
  for f in *.xml; do xsltproc -o `basename $f .xml`.mm /home/pete/mm2fm.xslt $f; done
  # ACHTUNG! Entferne alle xml und mmp-Dateien.
  # Attention! Delete all xml- and mmp-files!
  #rm *.xml *.mmp  <!-- template extracting data from the current note -->
  # Codierung von utf-8 in lokal erwünschte umwandeln. With work for me.
  recode utf-8 *.mm
 
# execute script from step 8 in every directory with the xml-files you want to transform.
# the exported mindmaps have exactly the same structure like the original! I am lucky.
Regards, Peter
 
NOTE: The above version of the XSLT script does not process the MindManager "notes" if they exist for each node.  This is my first time working with XSLT, but the following ammendment to "mm2fm.xslt" worked for me (sections below added after line 55 in the template '<xsl:template match="data">'):
 
    <!-- adp: sub-section added to convert detailed MindManager notes -->
    <xsl:if test="boolean(note)">
        <xsl:element name="node">
                <xsl:apply-templates select="note"/>
        </xsl:element>
    </xsl:if>
  </xsl:template>
 
  <!-- adp: template extracting detailed MindManager notes as a new sub-node -->
  <xsl:template match="note">
        <xsl:apply-templates select="color"/>
        <xsl:apply-templates select="text"/>
        <xsl:element name="font">
                <xsl:apply-templates select="font"/>
        </xsl:element>
  </xsl:template>
--[[User:Apalmer00|Apalmer00]] 10:27, 26 Jan 2005 (PST)
 
=== Direct MindManager X5 to FreeMind conversion ===
 
I received a couple of MindManager mindmaps that I had to convert to FreeMind. These mmap files turned out to be zip-files containing an XML file with the mindmap data. So I've written a basic XSLT which directly transforms this XML to the FreeMind format without the need to install MindManager. I suppose a convenient Import from MindManager could thus be provided in FreeMind using this info/xslt. I also suppose that this XSLT could be extended to transform additional specifics like edge-color, edge-width, etc, but I could not immediately figure out where such data is stored in MindManager's XML, as I do not have MindManager.
 
'''Q:''' How does one actually use the XSLT? E.g. I have an mmap, how do I open it in FreeMind?
 
NB: I changed ''"concat(#,'' below to ''"concat('#', below to make it work.  I also used jar xf file.mmap to extract the files.
 
''
  <?xml version="1.0" encoding="iso-8859-1"?>
  <!--
  Author:  Wouter Van den Broeck - wjvdbroe [at] vub . ac . be
  Version: v0.1
  Date:    June 12, 2004  This is an XSL/T to transform mindmaps from MindManager to FreeMind.
  MindManager files are actually zip files and can thus be opened in a
  standard zip-tool (e.g. by dragging-dropping the mmap file onto WinZip).
  The Document.xml file can then be extracted and transformed using this XSLT to
  e.g. Document.mm .
  This first version transforms:
  - Textual content (maintaining iso-8859-1 characters, e.g. german umlauts)
  - Text color
  - Graphic links (relations in MindManager)
  -->
  <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:ap="http://schemas.mindjet.com/MindManager/Application/2003"
  >
        <xsl:output
          method="xml"
        version="1.0"
        encoding="iso-8859-1"
        omit-xml-declaration="yes"
        indent="yes"
        />    <!-- root element -->
    <xsl:template match="/">
      <xsl:element name="map">
        <xsl:attribute name="version">0.7.1</xsl:attribute>
        <xsl:apply-templates select="ap:Map/ap:OneTopic/ap:Topic" />
      </xsl:element>
    </xsl:template>
    <xsl:template match="ap:Topic">
      <xsl:element name="node">
        <xsl:attribute name="TEXT">
          <xsl:value-of select="ap:Text/@PlainText" />
        </xsl:attribute>        <xsl:if test="ap:Text/ap:Font/@Color">
          <xsl:attribute name="COLOR">
            <xsl:value-of select="concat('#', substring(ap:Text/ap:Font/@Color, 3, 6))" />
          </xsl:attribute>
        </xsl:if>
        <xsl:variable name="OId" select="@OId" />
        <xsl:variable name="relation" select="/ap:Map/ap:Relationships/ap:Relationship[ap:ConnectionGroup[@Index=0]/ap:Connection/ap:ObjectReference/@OIdRef=$OId]" />
        <xsl:if test="$relation">
          <xsl:variable name="toId" select="$relation/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference/@OIdRef" />
          <xsl:element name="arrowlink">
            <xsl:attribute name="ENDARROW">Default</xsl:attribute>
            <xsl:attribute name="DESTINATION">
              <xsl:value-of select="$relation/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference/@OIdRef" />
            </xsl:attribute>
            <xsl:attribute name="STARTARROW">None</xsl:attribute>
          </xsl:element>
        </xsl:if>
        <xsl:variable name="toId" select="/ap:Map/ap:Relationships/ap:Relationship/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference[@OIdRef=$OId]/@OIdRef" />
        <xsl:if test="$toId">
          <xsl:attribute name="ID">
            <xsl:value-of select="$toId" />
          </xsl:attribute>
        </xsl:if>
        <xsl:apply-templates select="ap:SubTopics"/>
      </xsl:element>
    </xsl:template>
  </xsl:stylesheet>
 
Here is an online conversion utility (using the above XSLT) that will convert a .mmap file to Freemind format:
 
    http://www.liberatedcomputing.org/mm2fm
 
=== Mmap format is a jar file ===
 
MindManager's file format of .mmap files is a zipped file:
 
/home/dgriff> jar tvf Requirements.mmap
  1782 Mon Jun 14 15:00:38 BST 2004 bin/C96CF30F-3F6E-460B-8D5A-ED5F65E852D4.bin
102572 Mon Jun 14 15:00:38 BST 2004 Document.xml
  2265 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerDelta.xsd
  48314 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerApplication.xsd
      0 Mon Jun 14 15:00:38 BST 2004 xsd/
  5037 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerCore.xsd
      0 Mon Jun 14 15:00:38 BST 2004 bin/
  13615 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerPrimitive.xsd
  13518 Mon Jun 14 15:00:38 BST 2004 Preview.png
 
Dave Griffiths
 
---
 
If that is the case, it should be possible to create XSLT that converts directly between FreeMind's and MindManager's XML. Additionally, one should be also able to get the contents of .mmap by renaming a copy of it to .zip and opening in favorite zip application.
 
An advantage of this approach should be obvious; you don't need MindManager to covent a MindManager's map to FreeMind's map. Therefore, you do it on any operating system you like.
 
This all surely does apply only from certain version of MindManager above. That should be clarified.
 
It is not true for files saved using MindManager 4.0 Standard Edition.
 
=== To fix problems with character encoding ===
 
Try to change the encoding="UTF-8" to encoding="iso-8859-1" in the xslt sheet posted above.
 
==Export to CSV text==
This is an XSLT to output a Freemind mind map as a CSV text file with extra commas to represent the hierarchy. This is useful for importing into Excel to represent the nesting of nodes as a colum view.
 
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
  <xsl:template match="/">
  <xsl:apply-templates/>
  </xsl:template>
  <xsl:template name="linebreak">
    <xsl:text>&#x20;&#xA;</xsl:text>
  </xsl:template>
  <xsl:template match="map">
    <xsl:apply-templates select="child::node"/>
  </xsl:template>
  <xsl:template match="node">
    <xsl:param name="commaCount">0</xsl:param>
    <xsl:if test="$commaCount &gt; 0">
      <xsl:call-template name="writeCommas">
        <xsl:with-param name="commaCount" select="$commaCount"/>
      </xsl:call-template>
    </xsl:if>
    <xsl:value-of select="@TEXT"/>
      <xsl:call-template name="linebreak"/>
      <xsl:apply-templates select="child::node">
        <xsl:with-param name="commaCount" select="$commaCount + 1"/>
      </xsl:apply-templates>
      </xsl:template>
      <xsl:template name="writeCommas">
      <xsl:param name="commaCount">0</xsl:param>
        <xsl:if test="$commaCount &gt; 0">,<xsl:call-template name="writeCommas">
          <xsl:with-param name="commaCount" select="$commaCount - 1"/>
      </xsl:call-template>
    </xsl:if>
  </xsl:template>
</xsl:stylesheet>
 
Developed by [mailto:michael.bell@simulacra.com Mike Bell] at Simulacra.
 
If you have issues with accuented characters not being transferred correctly in Excel, you can do the following:
 
# save the exported file as ''somename''.txt (instead of ''somename''.csv)
# start Excel
# menu point File -> Open...
# choose "Files of Type" = Text Files (...*.txt...)
# then you get a dialogue where you can choose the "File Origin", which in Western Europe and USA is most probably one of Unicode (UTF-8) or Western European (ISO or Windows, I'd guess). Anyway, change the "origin" (correctly it's called charset) until the accents in the preview window are correctly shown.
 
Something similar should work under oocalc from [http://openoffice.org OpenOffice].
 
Alternatively, one could also try to add an "encoding" parameter to the "output" element of the XSLT sheet, like in [http://www.zvon.org/xxl/XSLTreference/OutputOverview/xslt_output_encoding_frame.html Zvon's XSLT Reference].
 
== Import issues from the mantis bug tracker to freemind ==
 
There is a script to export issues from mantis to freemind. See http://bugs.mantisbt.org/view.php?id=7214

Revision as of 18:40, 28 June 2006

Export and import in general

  • There is an import/export to Microsoft Excel by drag & drop or copy & paste of complete nodes. Also the other way round is possible. Just copy a selection of cells in Excel and drop it in FreeMind. Doing this with several columns, creates corresponding child nodes. It also works with the spreadsheet part of OpenOffice.
  • To export to OpenOffice Writer (and presumably Microsoft Word too - select all in the mind map, then go to OpenOffice Writer and "paste". NOTE - for this to work as expected / desired - ALL of the nodes should be to the right side of the main/parent node in the mind map. The outline appears to be generated from left to right (not positive about this...) Re: Word: copy-paste when some items to left of main node, results in duplicated branches, some not under right parents. Not recommended -- User:DAE 21 June 2006
  • Also tab-indented outlines will be pasted to FreeMind, including their tree structure.
  • Import and export to Emacs and Wikipedia-outlines
  • There are more possibilities, e. g. import from KeyNote. I just forgot where that was documented.
I do not know of a possibility to import from KeyNote. --Danielpolansky 13:01, 8 Nov 2005 (PST)
  • HTML- and XML-export is pretty obvious from FreeMinds menu.
  • You can copy part of a web page in your browser and paste it to FreeMind. FreeMind analyzes the tree structure in the HTML and builds a mind map. The other formatting (bold, font sizes, etc.) is not taken into FreeMind though.
  • Get yourself XSL scripts for conversion between FreeMind and ganttproject.
  • MindManager: Download XSLT transformation sheets from Christoph Rissner. Then you can convert mind maps from FreeMind's XML format to a different XML format, which can then be directly imported to MindManager. Read more here (HTML) or here (PDF).
  • Easy FreeMind to MindManager: Export the FreeMind map to HTML with no folding from the File menu in FreeMind. Open the HTML in Microsoft Word and save the map as a Word ".doc" file. Open the .doc in MindManager. MindManager supports the direct import of Word files as well as other Microsoft Office documents.
  • Almost every outliner should be capable of exporting to a tab-indented outline. This can be pasted to FreeMind.

Export to Emacs and Wikipedia outlines

There are two ways how to export FreeMind's mind map to the outline format understood by Emacs outlining mode and Wikipedia. Their descriptions follow.

Use conversion scripts

Our user has created two perl scripts for conversion between FreeMind and Emacs's outline.

  • mm2outline for Emacs outline (Perl) (This version does not work for wikipedia!)
  • outline2mm for Emacs outline (Perl)

Patch FreeMind to paste outline to clipboard

Patching the source code is sensible, only if you are a software developer. In FreeMind's source in modes/mindmapmode/!MindMapNodeModel.java replace the lines

 for (int i=0; i < depth; ++i) {
    fileout.write("    "); }
         
 if (this.toString().matches(" *")) {

with

 for (int i=0; i < depth; ++i) {
    fileout.write("*"); }  //changed
         
 fileout.write(" ");   // new
          
 if (this.toString().matches(" *")) {

and if you copy a node in FreeMind you will find an Emacs/Wiki outline in the clipboard!

See also: How to compile FreeMind

Does anybody know how to patch FreeMind that it will also import these outline? (I made an "RFE":http://sourceforge.net/tracker/index.php?func=detail&aid=932531&group_id=7118&atid=357118 out of this.)

Export and import from MindManager

Indirect MindManager 4.0 to FreeMind conversion

How I converted all my mindmanager-mindmaps to freemind in one go. This works for me. Perhaps not for you. Mindmanager 4.0: MMScript?-Editor has a problem with: Dim mm As MmImageType?

  1. Download Download XSLT transformations sheets from Christoph Rissner from http://hkrott.iicm.edu/docs/seminar/sem2002_mindmaps.tar.gz and extract. You need some of those files in step 4 an step 8.
  2. Open Mindmap in Mindmanager 2002 (With Mindmanager 4.0 I had a problem with "Dim mm As MmImageType?". You CAN use further the MMScript?-Editor after the 21-days-trial-tim)
  3. Menu->Tools->MMScript?-Editor
  4. MMScript?-Editor: Menu->Open File->exportXML.MMScript? (see step 1)
  5. Menu->Makro->Ausführen (or key "F5")
  6. (x) Export whole map, Choose destination file, (OK)
  7. Copy all xml-Files in a new directory or make of cource a backup of all your mindmaps! Sorry windows, with linux the following conversion is very easy. Perhaps do it with windows with a batch-file or something else.
  8. Save the following bash-script to "mmtofmconvert" and make it executable with "chmod a+x mmtofmconvert":
  #! /bin/sh
  # mmtofm-convert
  # Leerzeichen in Dateinamen in _ umwandeln
  for f in *\ *; do mv "$f" "`echo $f | tr \  _`"; done
  # xml-Dateien in mm umwandeln
  # Pfad zur Datei mm2fm.xslt muss angepasst werden! See step 1
  # xsltproc:  http://xmlsoft.org/XSLT/
  for f in *.xml; do xsltproc -o `basename $f .xml`.mm /home/pete/mm2fm.xslt $f; done 
  # ACHTUNG! Entferne alle xml und mmp-Dateien. 
  # Attention! Delete all xml- and mmp-files!
  #rm *.xml *.mmp  
  # Codierung von utf-8 in lokal erwünschte umwandeln. With work for me.
  recode utf-8 *.mm
  1. execute script from step 8 in every directory with the xml-files you want to transform.
  2. the exported mindmaps have exactly the same structure like the original! I am lucky.

Regards, Peter

NOTE: The above version of the XSLT script does not process the MindManager "notes" if they exist for each node. This is my first time working with XSLT, but the following ammendment to "mm2fm.xslt" worked for me (sections below added after line 55 in the template '<xsl:template match="data">'):

   <xsl:if test="boolean(note)">
       <xsl:element name="node">
               <xsl:apply-templates select="note"/>
       </xsl:element>
   </xsl:if>
 </xsl:template>
 <xsl:template match="note">
       <xsl:apply-templates select="color"/>
       <xsl:apply-templates select="text"/>
       <xsl:element name="font">
               <xsl:apply-templates select="font"/>
       </xsl:element>
 </xsl:template>

--Apalmer00 10:27, 26 Jan 2005 (PST)

Direct MindManager X5 to FreeMind conversion

I received a couple of MindManager mindmaps that I had to convert to FreeMind. These mmap files turned out to be zip-files containing an XML file with the mindmap data. So I've written a basic XSLT which directly transforms this XML to the FreeMind format without the need to install MindManager. I suppose a convenient Import from MindManager could thus be provided in FreeMind using this info/xslt. I also suppose that this XSLT could be extended to transform additional specifics like edge-color, edge-width, etc, but I could not immediately figure out where such data is stored in MindManager's XML, as I do not have MindManager.

Q: How does one actually use the XSLT? E.g. I have an mmap, how do I open it in FreeMind?

NB: I changed "concat(#, below to "concat('#', below to make it work. I also used jar xf file.mmap to extract the files.

 <?xml version="1.0" encoding="iso-8859-1"?>
 <xsl:stylesheet version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:ap="http://schemas.mindjet.com/MindManager/Application/2003"
 >
       <xsl:output
         method="xml"
       version="1.0"
       encoding="iso-8859-1"
       omit-xml-declaration="yes"
       indent="yes"
       />     
   <xsl:template match="/">
     <xsl:element name="map">
       <xsl:attribute name="version">0.7.1</xsl:attribute>
       <xsl:apply-templates select="ap:Map/ap:OneTopic/ap:Topic" />
     </xsl:element>
   </xsl:template>
   <xsl:template match="ap:Topic">
     <xsl:element name="node">
       <xsl:attribute name="TEXT">
         <xsl:value-of select="ap:Text/@PlainText" />
       </xsl:attribute>        <xsl:if test="ap:Text/ap:Font/@Color">
         <xsl:attribute name="COLOR">
           <xsl:value-of select="concat('#', substring(ap:Text/ap:Font/@Color, 3, 6))" />
         </xsl:attribute>
       </xsl:if>
       <xsl:variable name="OId" select="@OId" />
       <xsl:variable name="relation" select="/ap:Map/ap:Relationships/ap:Relationship[ap:ConnectionGroup[@Index=0]/ap:Connection/ap:ObjectReference/@OIdRef=$OId]" />
       <xsl:if test="$relation">
         <xsl:variable name="toId" select="$relation/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference/@OIdRef" />
         <xsl:element name="arrowlink">
           <xsl:attribute name="ENDARROW">Default</xsl:attribute>
           <xsl:attribute name="DESTINATION">
             <xsl:value-of select="$relation/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference/@OIdRef" />
           </xsl:attribute>
           <xsl:attribute name="STARTARROW">None</xsl:attribute>
         </xsl:element>
       </xsl:if>
       <xsl:variable name="toId" select="/ap:Map/ap:Relationships/ap:Relationship/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference[@OIdRef=$OId]/@OIdRef" />
       <xsl:if test="$toId">
         <xsl:attribute name="ID">
           <xsl:value-of select="$toId" />
         </xsl:attribute>
       </xsl:if>
       <xsl:apply-templates select="ap:SubTopics"/>
     </xsl:element>
   </xsl:template>
 </xsl:stylesheet>

Here is an online conversion utility (using the above XSLT) that will convert a .mmap file to Freemind format:

   http://www.liberatedcomputing.org/mm2fm

Mmap format is a jar file

MindManager's file format of .mmap files is a zipped file:

/home/dgriff> jar tvf Requirements.mmap
  1782 Mon Jun 14 15:00:38 BST 2004 bin/C96CF30F-3F6E-460B-8D5A-ED5F65E852D4.bin
102572 Mon Jun 14 15:00:38 BST 2004 Document.xml
  2265 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerDelta.xsd
 48314 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerApplication.xsd
     0 Mon Jun 14 15:00:38 BST 2004 xsd/
  5037 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerCore.xsd
     0 Mon Jun 14 15:00:38 BST 2004 bin/
 13615 Mon Jun 14 15:00:38 BST 2004 xsd/MindManagerPrimitive.xsd
 13518 Mon Jun 14 15:00:38 BST 2004 Preview.png

Dave Griffiths

---

If that is the case, it should be possible to create XSLT that converts directly between FreeMind's and MindManager's XML. Additionally, one should be also able to get the contents of .mmap by renaming a copy of it to .zip and opening in favorite zip application.

An advantage of this approach should be obvious; you don't need MindManager to covent a MindManager's map to FreeMind's map. Therefore, you do it on any operating system you like.

This all surely does apply only from certain version of MindManager above. That should be clarified.

It is not true for files saved using MindManager 4.0 Standard Edition.

To fix problems with character encoding

Try to change the encoding="UTF-8" to encoding="iso-8859-1" in the xslt sheet posted above.

Export to CSV text

This is an XSLT to output a Freemind mind map as a CSV text file with extra commas to represent the hierarchy. This is useful for importing into Excel to represent the nesting of nodes as a colum view.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:template match="/">
 <xsl:apply-templates/>
 </xsl:template>
  <xsl:template name="linebreak">
   <xsl:text> 
</xsl:text>
  </xsl:template>
  <xsl:template match="map">
   <xsl:apply-templates select="child::node"/>
  </xsl:template>
  <xsl:template match="node">
   <xsl:param name="commaCount">0</xsl:param>
    <xsl:if test="$commaCount > 0">
      <xsl:call-template name="writeCommas">
       <xsl:with-param name="commaCount" select="$commaCount"/>
      </xsl:call-template>
    </xsl:if>
    <xsl:value-of select="@TEXT"/>
     <xsl:call-template name="linebreak"/>
      <xsl:apply-templates select="child::node">
        <xsl:with-param name="commaCount" select="$commaCount + 1"/>
      </xsl:apply-templates>
     </xsl:template>
     <xsl:template name="writeCommas">
      <xsl:param name="commaCount">0</xsl:param>
       <xsl:if test="$commaCount > 0">,<xsl:call-template name="writeCommas">
         <xsl:with-param name="commaCount" select="$commaCount - 1"/>
     </xsl:call-template>
    </xsl:if>
 </xsl:template>
</xsl:stylesheet>

Developed by Mike Bell at Simulacra.

If you have issues with accuented characters not being transferred correctly in Excel, you can do the following:

  1. save the exported file as somename.txt (instead of somename.csv)
  2. start Excel
  3. menu point File -> Open...
  4. choose "Files of Type" = Text Files (...*.txt...)
  5. then you get a dialogue where you can choose the "File Origin", which in Western Europe and USA is most probably one of Unicode (UTF-8) or Western European (ISO or Windows, I'd guess). Anyway, change the "origin" (correctly it's called charset) until the accents in the preview window are correctly shown.

Something similar should work under oocalc from OpenOffice.

Alternatively, one could also try to add an "encoding" parameter to the "output" element of the XSLT sheet, like in Zvon's XSLT Reference.

Import issues from the mantis bug tracker to freemind

There is a script to export issues from mantis to freemind. See http://bugs.mantisbt.org/view.php?id=7214