<?xml version="1.0" encoding="UTF-8"?>
<map version="0.9.0_Beta_8">
<!-- This file is saved using a hacked version of FreeMind. visit: http://www.worldhello.net, http://ossxp.com -->
<!-- Orignal FreeMind, can download from http://freemind.sourceforge.net -->
<!-- This .mm file is CVS/SVN friendly, some atts are saved in .mmx file.(by Worldhello.net) -->
<node COLOR="#990000" ID="Freemind_Link_1426395329">
<richcontent TYPE="NODE"><html>
  <head>
    
  </head>
  <body>
    <p style="text-align: center">
      <font size="5">FreeMind&#160;<br size="5" />&#28857;&#20142;&#26234;&#24935;&#30340;&#26126;&#28783;</font><br /><font size="2"><b>(&#29256;&#26412;&#21495;: 0.5.F-$Rev$ )</b></font>
    </p>
  </body>
</html>
</richcontent>
<edge WIDTH="thin"/>
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node COLOR="#3300cc" FOLDED="true" ID="Freemind_Link_757657139" POSITION="right" STYLE="bubble" 
	TEXT="FreeMind 介绍">
<edge STYLE="sharp_bezier"/>
<font BOLD="true" ITALIC="true" NAME="SansSerif" SIZE="13"/>
<node COLOR="#3300cc" FOLDED="true" ID="Freemind_Link_1533900658" 
	TEXT="首先了解 MindMap">
<node COLOR="#3300cc" ID="Freemind_Link_677059627" 
	TEXT="思维导图又叫心智图，英国人托尼·巴赞创造"/>
<node COLOR="#3300cc" ID="Freemind_Link_1214676281" 
	TEXT="是将思路按照树状的结构进行线索的清理的一种整理思路的方法"/>
<node COLOR="#3300cc" ID="Freemind_Link_973562043" 
	TEXT="MindMap 的树状组织结构和人脑力的物质基础——神经元的结构惊人的相似 8-)"/>
</node>
<node COLOR="#3300cc" ID="Freemind_Link_1172110265" STYLE="bubble" 
	TEXT="Freemind 是 Java 开发的开源项目，提供 MindMap 的编辑和显示"/>
<node COLOR="#3300cc" FOLDED="true" ID="Freemind_Link_1336568668" 
	TEXT="Freemind 的特色">
<node COLOR="#3300cc" ID="Freemind_Link_572398162" 
	TEXT="Write once, Run everywhere （这是 Java 的特色） 8-)"/>
<node COLOR="#3300cc" ID="Freemind_Link_414750055" 
	TEXT="开放的文件存储格式，是 XML 格式"/>
<node COLOR="#3300cc" ID="Freemind_Link_836168201" 
	TEXT="支持 HTML 格式的节点"/>
</node>
<node COLOR="#3300cc" FOLDED="true" ID="Freemind_Link_1411096877" 
	TEXT="Freemind 的应用范围">
<node COLOR="#3300cc" ID="Freemind_Link_1780543913" 
	TEXT="读书笔记"/>
<node COLOR="#3300cc" ID="Freemind_Link_226468456" 
	TEXT="会议记录"/>
<node COLOR="#3300cc" ID="Freemind_Link_242364145" 
	TEXT="所有你脑子里的东西 8-)"/>
</node>
<node COLOR="#3300cc" FOLDED="true" ID="Freemind_Link_1142742545" 
	TEXT="FreeMind 版本">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#3300cc" ID="Freemind_Link_468483604" 
	TEXT="0.9.beta">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
<node COLOR="#3300cc" FOLDED="true" ID="Freemind_Link_694596374" 
	TEXT="0.8.0">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#3300cc" ID="Freemind_Link_683670273" 
	TEXT="2005.06.09 发布">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
<node COLOR="#3300cc" ID="Freemind_Link_1196429371" 
	TEXT="0.8.1">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
<node COLOR="#3300cc" ID="Freemind_Link_616035510" LINK="freemind_manual.mm" 
	TEXT="参见 FreeMind 手册">
<arrowlink DESTINATION="Freemind_Link_616035510" ENDARROW="Default" ENDINCLINATION="0;0;" ID="Freemind_Arrow_Link_716806778" STARTARROW="None" STARTINCLINATION="0;0;"/>
</node>
</node>
<node BACKGROUND_COLOR="#ccffcc" COLOR="#990033" FOLDED="true" ID="_" POSITION="right" STYLE="bubble" 
	TEXT="网址链接">
<edge WIDTH="thin"/>
<font BOLD="true" ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="gohome"/>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_996275953" 
	TEXT="网站">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
<node COLOR="#009999" ID="Freemind_Link_477156866" LINK="http://freemind.sourceforge.net/wiki/index.php/Main_Page" 
	TEXT="FreeMind Wiki &lt;http://freemind.sourceforge.net/wiki/index.php/Main_Page&gt;">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
</node>
<node COLOR="#009999" ID="Freemind_Link_1323683082" LINK="http://sourceforge.net/projects/freemind" 
	TEXT="FreeMind@SourceForge &lt;http://sourceforge.net/projects/freemind&gt;">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
</node>
<node COLOR="#009999" ID="Freemind_Link_715830598" 
	TEXT="Java 下载： http://java.sun.com/">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_1248343623" 
	TEXT="软件下载">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_1707225405" 
	TEXT="Whodo 增强版">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_649158442" 
	TEXT="for Windows">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="ID_868495952" LINK="http://update.ossxp.com/public/tools/Windows/freemind" STYLE="bubble" 
	TEXT="update.ossxp.com &gt; Public &gt; Tools &gt; Windows &gt; Freemind">
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_423457983" 
	TEXT="for Debian Linux">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_142640409" 
	TEXT="添加 Debian 源： ">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="Freemind_Link_318343862" 
	TEXT="deb http://YourName:YourPasswd@update.ossxp.com/public testing main ">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_672953612" 
	TEXT="导入 群英汇-开源速递 软件升级签名公钥&#xa;">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="Freemind_Link_1461269748" 
	TEXT="wget -q http://update.ossxp.com/public.key -O - | sudo apt-key add -&#xa;">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_230607109" 
	TEXT="安装 ossxp-freemind &#xa;">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="Freemind_Link_33594089" 
	TEXT="apt-get update &amp;&amp; apt-get install ossxp-freemind">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
</node>
<node COLOR="#009999" ID="ID_315235515" STYLE="bubble" 
	TEXT="注意： 可能需要身份认证，请输入在 WorldHello.net 的注册帐号和口令。">
<edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_1744493833" 
	TEXT="FreeMind 标准版下载">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="Freemind_Link_53049176" LINK="http://sourceforge.net/project/showfiles.php?group_id=7118" 
	TEXT="SourceForge 下载">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_568900406" 
	TEXT="代码下载">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_1763784472" 
	TEXT="WHODO 的 FreeMind 代码补丁">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_961986248" 
	TEXT="From WHODO SVN">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="Freemind_Link_290121055" 
	TEXT="svn  checkout  http://svn.worldhello.net/svn/whodo/trunk/doc/freemind/debian/patches">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_1942515934" 
	TEXT="From FreeMind Wiki">
<edge COLOR="#808080" WIDTH="thin"/>
<node COLOR="#009999" ID="Freemind_Link_1439937082" LINK="http://freemind.sourceforge.net/wiki/index.php/User:Jiangxin" 
	TEXT="http://freemind.sourceforge.net/wiki/index.php/User:Jiangxin">
<edge COLOR="#808080" WIDTH="thin"/>
</node>
</node>
</node>
<node COLOR="#009999" FOLDED="true" ID="Freemind_Link_366752444" 
	TEXT="官方 CVS 版本库">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
<node COLOR="#009999" ID="Freemind_Link_1183277206" 
	TEXT="cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/freemind checkout -r FM-0-8-0 freemind">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
</node>
<node COLOR="#009999" ID="Freemind_Link_368642651" 
	TEXT="cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/freemind checkout freemind">
<edge WIDTH="thin"/>
<font NAME="SansSerif" SIZE="12"/>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#33ffff" FOLDED="true" ID="Freemind_Link_1484744848" POSITION="right" STYLE="fork" 
	TEXT="FreeMind 的 WHODO 修改版">
<cloud COLOR="#ccffcc"/>
<font BOLD="true" ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="pencil"/>
<node FOLDED="true" ID="Freemind_Link_1114038155" 
	TEXT="为什么 WHODO 要使用修改过的 Freemind？">
<cloud COLOR="#ccffff"/>
<node ID="Freemind_Link_594191116" LINK="http://www.catb.org/~esr/" 
	TEXT="原因正如 Eric Raymond 所形容的那样：被搔到了痒处"/>
<node FOLDED="true" ID="Freemind_Link_380177826" 
	TEXT="FreeMind 对中文支持不好">
<node ID="Freemind_Link_1025981765" 
	TEXT="0.8.0 版本的 FreeMind 对 Unicode 的支持仍然不好（本文档在 FreeMind 0.8.0 下就出现乱码）"/>
<node ID="Freemind_Link_164462296" 
	TEXT="FreeMind 的输出文件中，中文被编码为形如 “&amp;#xxxx;”样子的格式"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1993081090" 
	TEXT="一些易变属性，也保存在文档中（如节点的开、合状态）">
<node ID="Freemind_Link_1961055140" 
	TEXT="即使只是展开 FreeMind 思维导图的节点，而没有做修改文字或者字体、颜色等实质改动，输出文件也变化"/>
<node ID="Freemind_Link_1502047136" 
	TEXT="想到了 VC 6.0 和 VC 7.1 的工程文件的差别。VC 7.0 的工程文件就更适合版本控制，因为一些本地相关设置保存在另外的文件中。"/>
</node>
<node ID="Freemind_Link_775154485" 
	TEXT="这些问题，非常不利于 FreeMind 文档的版本控制"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1960298606" 
	TEXT="WHODO 所做的修改">
<edge WIDTH="thin"/>
<cloud COLOR="#ccccff"/>
<node FOLDED="true" ID="ID_1754430274" 
	TEXT="WorldHello扩展功能设置">
<node FOLDED="true" ID="ID_1740567957" 
	TEXT="字符编码&#xa;">
<node ID="ID_1170984594" 
	TEXT="将中文字符以 UTF8 编码保存在 filename.mm 文件中，而不是 &amp;#HEX; 格式的编码。"/>
</node>
<node FOLDED="true" ID="ID_782411083" 
	TEXT="附加的辅助文件">
<node ID="ID_943799703" 
	TEXT="将不适合版本控制的属性保存在 filename.mm 文件之外的一个辅助文件中，辅助文件名为 .filename.mmx (扩展名为.mmx，文件名前加上一个点，在Unix下是隐藏文件)。"/>
<node ID="ID_1552859814" 
	TEXT="可以选择哪些属性从 filename.mm 文件移动到 .filename.mmx 文件。默认三个属性 &apos;FOLDED&apos;, &apos;CREATED&apos;, &apos;MODIFIED&apos; 都被移动到附加的辅助文件中。 &#xa;"/>
</node>
<node ID="ID_280033103" 
	TEXT="注：“WorldHello扩展”扩展菜单在 FreeMind 0.9.0.Beta.17+wh-13 版本之后引入"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1768010534" 
	TEXT="中文编码补丁">
<node ID="Freemind_Link_485913597" 
	TEXT="为 FreeMind 输出文件添加 XML 文件声明和编码。"/>
<node ID="Freemind_Link_696714899" 
	TEXT="使用 XML DOM 加载 FreeMind 的 .mm 文件。"/>
<node ID="Freemind_Link_653538319" 
	TEXT="修正 FreeMind 版本检查的 Bug（原设计：只读取第一行以获取 mmap 版本）"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1464381902" 
	TEXT="易变属性剥离的补丁">
<node ID="Freemind_Link_689835004" 
	TEXT="易变节点设置不再保存在 .mm 文件中，而是单独提取出来，保存在另外的一个文件中（该文件命名为 .mmx ）"/>
<node ID="Freemind_Link_762445078" 
	TEXT="即 FreeMind 保存时，除了建立一个 .mm 文件，还保存另外一个扩展名为 .mmx 的同名文件。（.mmx 文件保存的是附加节点属性）"/>
</node>
<node ID="Freemind_Link_671635528" 
	TEXT="FreeMind 加载 .mm 文件时，自动加载 .mmx 文件中的设置"/>
<node ID="Freemind_Link_44517587" 
	TEXT="综上所述，Freemind 的 WHODO 修改版，提供了 Freemind 更好的中文支持和更易于版本控制的文件格式"/>
</node>
<node ID="Freemind_Link_444881047" 
	TEXT="如何安装 FreeMind 的 WHODO 修改版？">
<cloud COLOR="#33ff33"/>
<arrowlink COLOR="#b0b0b0" DESTINATION="Freemind_Link_1707225405" ENDARROW="Default" ENDINCLINATION="804;0;" ID="Freemind_Arrow_Link_1973632980" STARTARROW="None" STARTINCLINATION="728;0;"/>
</node>
<node FOLDED="true" ID="Freemind_Link_293461055" 
	TEXT="TODO">
<cloud COLOR="#ffff66"/>
<node FOLDED="true" ID="Freemind_Link_358648752" 
	TEXT="解决加载速度慢的问题 （这个问题已经解决）">
<node FOLDED="true" ID="Freemind_Link_516667859" 
	TEXT="旧版本中存在的问题">
<node FOLDED="true" ID="Freemind_Link_52189103" 
	TEXT="1. 加载慢">
<node ID="Freemind_Link_1505495192" 
	TEXT="对于比较大的 .mm 文档，合并存储附加节点属性的 .mmx 文档，速度慢，我测试了一个 200KB 的合并，最长要 4 分钟！"/>
<node ID="Freemind_Link_718849910">
<richcontent TYPE="NODE"><html>   <head>        </head>   <body>     <pre>$ time xsltproc --stringparam mmx_file subject-forum.mmx freemind_join_mm_mmx.xslt subject-forum.mm &gt; jx.mm  real    4m33.148s user    4m30.093s sys     0m0.015s</pre>   </body> </html></richcontent>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1690523477" 
	TEXT="2. 内存耗尽">
<node ID="Freemind_Link_45463031" 
	TEXT="同样是由于 .mm 和 .mmx 合并造成的"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1760419445" 
	TEXT="搔到了谁的痒处？">
<node ID="Freemind_Link_1576907153" 
	TEXT="如上所述，我在匆忙之中做出的修改，在合并附加节点属性中，存在效率问题"/>
<node ID="Freemind_Link_1758596918" 
	TEXT="这一定搔到了部分人的痒处，期待您来完善……"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_648744209" 
	TEXT="注：这个问题已经解决。解决方案参见：">
<node ID="Freemind_Link_562353531" LINK="http://freemind.sourceforge.net/wiki/index.php/User:Jiangxin/Patch_load_mm_file_with_mmx_file#the_XSLT" 
	TEXT="http://freemind.sourceforge.net/wiki/index.php/User:Jiangxin/Patch_load_mm_file_with_mmx_file#the_XSLT"/>
</node>
</node>
</node>
</node>
<node COLOR="#0033cc" FOLDED="true" ID="Freemind_Link_1537167583" POSITION="right" STYLE="bubble" 
	TEXT="FreeMind 在网页上的显示">
<cloud COLOR="#66ffff"/>
<font BOLD="true" ITALIC="true" NAME="SansSerif" SIZE="14"/>
<node FOLDED="true" ID="Freemind_Link_37644593" 
	TEXT="两种方法主要方法">
<node FOLDED="true" ID="Freemind_Link_1548450560" 
	TEXT="推荐： Flash viewer">
<node ID="Freemind_Link_278029702" 
	TEXT="来自于 http://www.efectokiwano.net/mm 的一款依靠 JavaScript 和 Flash 的 mindmap 解决方案"/>
<node FOLDED="true" ID="Freemind_Link_132525865" 
	TEXT="优势">
<node ID="Freemind_Link_922226915" 
	TEXT="Flash, Javascript 本身文件小，网络带宽占用小，加载迅速"/>
<node ID="Freemind_Link_620602809" 
	TEXT="格式更加美观"/>
<node ID="Freemind_Link_1624659317" 
	TEXT="提供更多功能。如缩放、预览、查找等功能"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_546384814" 
	TEXT="Java Applet">
<node ID="Freemind_Link_929090092" 
	TEXT="FreeMind 项目本身提供的一种浏览 .mm 文件的模式"/>
<node FOLDED="true" ID="Freemind_Link_568340142" 
	TEXT="优点">
<node ID="Freemind_Link_636457119" 
	TEXT="代码和 FreeMind 师出同门"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1593366839" 
	TEXT="缺点">
<node ID="Freemind_Link_616321612" 
	TEXT="该 Java applet 文件本身很大，下载会消耗带宽和时间！"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1997010662" 
	TEXT="FreeMind 嵌入到 MediaWiki">
<node ID="Freemind_Link_941741627" LINK="http://meta.wikimedia.org/wiki/User:Jiangxin/Improved_Freemind_Extension" 
	TEXT="http://meta.wikimedia.org/wiki/User:Jiangxin/Improved_Freemind_Extension"/>
<node ID="Freemind_Link_1316460415" LINK="addon/mediawiki/freemind.php" 
	TEXT="本地下载：addon/mediawiki/freemind.php"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1075506028" 
	TEXT="FreeMind 嵌入到 phpBB">
<node ID="Freemind_Link_695247723" LINK="addon/phpbb/mindmap.mod" 
	TEXT="本地下载：addon/phpbb/mindmap.mod"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1461362819" 
	TEXT="转换为 HTML">
<node ID="Freemind_Link_840603838" 
	TEXT="这种方法不是实时的在线显示，而是通过 FreeMind 的导出功能。"/>
<node ID="Freemind_Link_393163450" 
	TEXT="转换为 HTML 的最主要的好处，应该是更方便的打印。"/>
</node>
<node FOLDED="true" ID="Freemind_Link_876436232" 
	TEXT="为什么我的浏览器显示不了网页上的 FreeMind 智图？">
<node ID="Freemind_Link_661796722" 
	TEXT="Flash 插件的版本不能低于 7.0，否则可能不能正确显示；&#xa;"/>
<node ID="Freemind_Link_324664329" 
	TEXT="看看是否由于您的浏览器禁用了 JavaScript；  "/>
<node ID="Freemind_Link_1894215054" 
	TEXT="或者浏览器的广告过滤插件把 Flash 屏蔽掉了；"/>
</node>
</node>
<node FOLDED="true" ID="ID_483497482" POSITION="right" STYLE="bubble" 
	TEXT="疑难解答">
<icon BUILTIN="clanbomber"/>
<node FOLDED="true" ID="ID_201063976" 
	TEXT="运行 FreeMind，在显示 Splash 时挂起，不能继续运行">
<node ID="ID_17445931" 
	TEXT="如果是在 Windows 平台使用，运行 freemind.bat。"/>
<node ID="ID_1426564559" 
	TEXT="如果是在 Linux 平台使用，运行 freemind.sh。"/>
<node ID="ID_89120891" 
	TEXT="注意在 DOS窗口/Linux控制台下的错误显示"/>
</node>
<node FOLDED="true" ID="ID_1086132323" 
	TEXT="不能保存 FreeMind 文件">
<node ID="ID_564238224" 
	TEXT="查看一下 JRE 版本： java -version"/>
<node ID="ID_1702056816" 
	TEXT="尝试升级到最新的 JRE，再试试。"/>
</node>
<node FOLDED="true" ID="ID_285362381" 
	TEXT="在 Windows 平台不能运行，提示找不到 freemind.jar">
<node ID="ID_1969926223" 
	TEXT="看看是不是由于目录名中包含了特殊字符（如＋号），造成查找 FreeMind 目录失败。"/>
<node ID="ID_1620970519" 
	TEXT="从 WordHello.net 下载的软件包名称中可能包含＋号，如果在Windows平台直接展开到目录，就会出现这个问题。&#xa;例如展开到： C:\Bin\FreeMind-0.9.0BETA17+wh-13\ "/>
<node ID="ID_142934203" 
	TEXT="解决办法：修改FreeMind目录名。&#xa;例如：将 C:\Bin\FreeMind-0.9.0BETA17+wh-13\ 修改为 C:\Bin\FreeMind\"/>
</node>
</node>
<node COLOR="#990000" FOLDED="true" ID="Freemind_Link_868000310" POSITION="left" STYLE="bubble" 
	TEXT="Freemind Hacking Howto">
<font BOLD="true" NAME="SansSerif" SIZE="13"/>
<node FOLDED="true" ID="Freemind_Link_205437034" 
	TEXT="编译 FreeMind">
<node ID="Freemind_Link_1564928818" 
	TEXT="动手修改 Freemind 代码之前，一定要先掌握 Freemind 的编译"/>
<node FOLDED="true" ID="Freemind_Link_1524525229" 
	TEXT="步骤">
<node ID="Freemind_Link_1390981631" 
	TEXT="FreeMind 代码下载"/>
<node ID="Freemind_Link_608634967" 
	TEXT="安装 WHODO 的 Freemind 补丁"/>
<node FOLDED="true" ID="Freemind_Link_1084388283" 
	TEXT="安装软件">
<node ID="Freemind_Link_424909702" 
	TEXT="JDK"/>
<node ID="Freemind_Link_1711543388" 
	TEXT="Eclipse"/>
<node ID="Freemind_Link_558641692" 
	TEXT="Ant"/>
<node FOLDED="true" ID="Freemind_Link_1068027128" 
	TEXT="Java Web Services Developer Pack 2.0">
<node ID="Freemind_Link_417670950" 
	TEXT="http://java.sun.com/xml/downloads/jaxb.html"/>
<node FOLDED="true" ID="Freemind_Link_1161740446" 
	TEXT="JAXB">
<node 
	TEXT="Java Architecture for XML Binding"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1351480490" 
	TEXT="JAXP">
<node 
	TEXT="Java API for XML Processing"/>
</node>
<node FOLDED="true" ID="Freemind_Link_18146495" 
	TEXT="JAXR">
<node ID="Freemind_Link_1101748905" 
	TEXT="Java API for XML Registries (JAXR)"/>
</node>
<node FOLDED="true" ID="Freemind_Link_16968340" 
	TEXT="JAXRPC">
<node 
	TEXT="JAX-RPC Version 1.1.3_01 EA (Java API for XML-based RPC)"/>
</node>
<node FOLDED="true" ID="Freemind_Link_925588356" 
	TEXT="SAAJ">
<node 
	TEXT="SOAP with Attachments API for Java"/>
</node>
</node>
</node>
<node ID="Freemind_Link_263976015" 
	TEXT="创建 Eclipse 工程"/>
<node ID="Freemind_Link_515237302" 
	TEXT="Ant 编译"/>
</node>
<node FOLDED="true" ID="Freemind_Link_785380609" 
	TEXT="FAQ">
<node FOLDED="true" ID="Freemind_Link_720301975" 
	TEXT="JaxMe">
<node ID="Freemind_Link_1162361594" 
	TEXT="http://ws.apache.org/jaxme/downloads.cgi"/>
</node>
<node FOLDED="true" ID="Freemind_Link_464302401" 
	TEXT="build.xml 解析">
<node FOLDED="true" ID="Freemind_Link_1650978036" 
	TEXT="gen">
<arrowlink DESTINATION="Freemind_Link_905820494" ENDARROW="Default" ENDINCLINATION="294;0;" ID="Freemind_Arrow_Link_1373329680" STARTARROW="None" STARTINCLINATION="294;0;"/>
<node FOLDED="true" ID="Freemind_Link_1846407407" 
	TEXT="xmlbind">
<node FOLDED="true" ID="Freemind_Link_632201962" 
	TEXT="参数">
<node 
	TEXT="&lt;param name=&quot;gen.file&quot; value=&quot;actions&quot;/&gt;"/>
<node ID="Freemind_Link_1218423517" 
	TEXT="&lt;param name=&quot;xsd.file&quot; value=&quot;freemind_actions.xsd&quot;/&gt;"/>
</node>
<node ID="Freemind_Link_1416346551" 
	TEXT="创建目录 ${gen.dir}/${gen.file}，即 generated/actions"/>
<node FOLDED="true" ID="Freemind_Link_1061352750" 
	TEXT="xjc">
<node FOLDED="true" ID="Freemind_Link_1675462734" 
	TEXT="xjc 定义">
<node ID="Freemind_Link_312412084" 
	TEXT="&lt;taskdef name=&quot;xjc&quot; classname=&quot;com.sun.tools.xjc.XJCTask&quot; &#xa;        classpath=&quot;${jaxb}&quot; /&gt;&#xa;"/>
</node>
<node ID="Freemind_Link_1078066889" 
	TEXT="schema： ${xsd.dir}/freemind_actions.xsd （.//freemind_actions.xsd）"/>
<node ID="Freemind_Link_1594100363" 
	TEXT="目标： ${gen.dir}/actions （generated/actions）"/>
<node ID="Freemind_Link_914046923" 
	TEXT="package=&quot;freemind.controller.${gen.file}.generated.instance&quot; /&gt;">
<edge WIDTH="thin"/>
</node>
<node ID="Freemind_Link_798672130" 
	TEXT="将会由 ${xsd.dir}/${xsd.file} 生成 generated/actions/freemind/controller/actions/generated/instance/jaxb.properties 文件"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_905820494" 
	TEXT="build">
<arrowlink DESTINATION="Freemind_Link_1623530901" ENDARROW="Default" ENDINCLINATION="183;0;" ID="Freemind_Arrow_Link_1468707270" STARTARROW="None" STARTINCLINATION="183;0;"/>
<arrowlink DESTINATION="Freemind_Link_1536361413" ENDARROW="Default" ENDINCLINATION="310;0;" ID="Freemind_Arrow_Link_1330417053" STARTARROW="None" STARTINCLINATION="310;0;"/>
<node ID="Freemind_Link_537054088" 
	TEXT="创建目录 ${build} （即 ../bin/classes）"/>
<node FOLDED="true" ID="Freemind_Link_1187086638" 
	TEXT="build-generated">
<arrowlink DESTINATION="Freemind_Link_905140915" ENDARROW="Default" ENDINCLINATION="84;0;" ID="Freemind_Arrow_Link_1889137186" STARTARROW="None" STARTINCLINATION="84;0;"/>
<node FOLDED="true" ID="Freemind_Link_1665023518" 
	TEXT="调用 -buildgen">
<node FOLDED="true" ID="Freemind_Link_1068206652" 
	TEXT="参数">
<node 
	TEXT="&lt;param name=&quot;gen.file&quot; value=&quot;actions&quot;/&gt;"/>
<node 
	TEXT="&lt;param name=&quot;xsd.file&quot; value=&quot;freemind_actions.xsd&quot;/&gt;"/>
</node>
<node FOLDED="true" ID="Freemind_Link_546998755" 
	TEXT="javac 编译">
<node ID="Freemind_Link_1428712188" 
	TEXT="源文件 ${gen.dir}/${gen.file}， （即  generated/actions）"/>
<node ID="Freemind_Link_936876664" 
	TEXT="目标 ${build} （即 ../bin/classes）"/>
</node>
<node FOLDED="true" ID="Freemind_Link_140032416" 
	TEXT="拷贝文件">
<node ID="Freemind_Link_1969041438" 
	TEXT="将  ${gen.dir}/actions/freemind/controller/actions/generated 目录&#xa;中的 **/jaxb.properties， **/*.ser 文件&#xa;拷贝到 ${build}/freemind/controller/actions/generated"/>
<node FOLDED="true" ID="Freemind_Link_61829020" 
	TEXT="代码">
<node ID="Freemind_Link_1174161785" 
	TEXT="    &lt;copy todir=&quot;${build}/freemind/controller/${gen.file}/generated&quot; &gt;&#xa;      &lt;fileset dir=&quot;${gen.dir}/${gen.file}/freemind/controller/${gen.file}/generated&quot; &gt;&#xa;        &lt;include name=&quot;**/jaxb.properties&quot; /&gt;&#xa;        &lt;include name=&quot;**/*.ser&quot; /&gt;&#xa;      &lt;/fileset&gt;&#xa;    &lt;/copy&gt;&#xa;"/>
</node>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_836950883" 
	TEXT="javac 编译">
<node FOLDED="true" ID="Freemind_Link_1589168029" 
	TEXT="源代码 srcdir=&quot;${src}&quot;">
<node ID="Freemind_Link_252296725" 
	TEXT="除了 accessories/plugins/**， plugins/**，${gen.dir}/** 的代码"/>
</node>
<node ID="Freemind_Link_1390591773" 
	TEXT="目标 destdir=&quot;${build}&quot;"/>
<node FOLDED="true" ID="Freemind_Link_1741528056" 
	TEXT="代码">
<node ID="Freemind_Link_884034275" 
	TEXT="&#x9;&#x9;&lt;javac&#x9;srcdir=&quot;${src}&quot;&#xa;&#x9;&#x9;&#x9;destdir=&quot;${build}&quot;&#xa;&#x9;&#x9;&#x9;classpath=&quot;${classpath}&quot;&#xa;&#x9;&#x9;&#x9;debug=&quot;${debug}&quot;&#xa;    &#x9;   source=&quot;${java_source_version}&quot;&#xa;&#x9;       target=&quot;${java_target_version}&quot;&#xa;&#x9;&#x9;&#x9;&gt; "/>
</node>
</node>
<node ID="Freemind_Link_1447133949" 
	TEXT="执行 accessories/plugins/build.xml，目标 build">
<font NAME="SansSerif" SIZE="12"/>
</node>
<node FOLDED="true" ID="Freemind_Link_88946473" 
	TEXT="执行  plugins/build.xml，目标 build">
<font NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1071121455" 
	TEXT="plugins/build_help.xml， 目标 build"/>
<node ID="Freemind_Link_116843391" 
	TEXT="plugins/build_svg.xml， 目标 build"/>
<node ID="Freemind_Link_2395498" 
	TEXT="plugins/build_time..xml， 目标 build"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1623530901" 
	TEXT="jar">
<node ID="Freemind_Link_514351639" 
	TEXT="创建目录 &lt;mkdir dir=&quot;${dist.lib}&quot; /&gt;"/>
<node ID="Freemind_Link_636225971" 
	TEXT="创建 ${dist.lib}/freemind.jar，即 freemind 的主要的 jar"/>
<node FOLDED="true" ID="Freemind_Link_1391813974" 
	TEXT="freemind.jar 中打包文件">
<node FOLDED="true" ID="Freemind_Link_14802501" 
	TEXT="${build} 目录下">
<node ID="Freemind_Link_1478237371" 
	TEXT="除了 accessories/** 和 plugins/**"/>
</node>
<node FOLDED="true" ID="Freemind_Link_789813982" 
	TEXT="${src} 目录下">
<node 
	TEXT="images/*"/>
<node 
	TEXT="images/icons/*.png"/>
<node 
	TEXT="freemind.properties"/>
<node 
	TEXT="user.properties"/>
<node 
	TEXT="patterns.xml"/>
<node 
	TEXT="Resources*"/>
<node 
	TEXT="mindmap_menus.xml"/>
<node 
	TEXT="**/freemind_version_updater.xslt"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1027118988" 
	TEXT="dist">
<node ID="Freemind_Link_1372300111" 
	TEXT="拷贝 ${src} 中的 freemind.bat,freemind.sh,license,patterns.xml 到 ${dist} 目录中"/>
<node ID="Freemind_Link_191300453" 
	TEXT="拷贝 ${src}/user_comment.properties 到  ${dist}/user.properties 中"/>
<node ID="Freemind_Link_1685430348" 
	TEXT="拷贝 ${src}/windows-launcher/Freemind.exe 到 ${dist} 中"/>
<node FOLDED="true" ID="Freemind_Link_1437191878" 
	TEXT="创建目录 ${dist}/accessories">
<node ID="Freemind_Link_1989144875" 
	TEXT="将 ${src}/accessories 除了 ${src}/accessories/plugins 外拷贝其中"/>
</node>
<node ID="Freemind_Link_215884887" 
	TEXT="创建目录 ${dist}/plugins"/>
<node FOLDED="true" ID="Freemind_Link_760397887" 
	TEXT="创建 ${dist.lib} 目录">
<node ID="Freemind_Link_1038393695" 
	TEXT="拷贝 ${src}/lib 中 **/jaxb-xjc.jar, jarbundler.jar 拷贝其中"/>
</node>
<node ID="Freemind_Link_1604777265" 
	TEXT="执行 accessories/plugins/build.xml，目标 dist">
<font NAME="SansSerif" SIZE="12"/>
</node>
<node FOLDED="true" ID="Freemind_Link_230313064" 
	TEXT="执行 plugins/build.xml，目标 dist">
<font NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1506805020" 
	TEXT="plugins/build_help.xml， 目标 dist"/>
<node ID="Freemind_Link_249018809" 
	TEXT="plugins/build_svg.xml， 目标 dist"/>
<node ID="Freemind_Link_1849938503" 
	TEXT="plugins/build_time..xml， 目标 dist"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1536361413" 
	TEXT="browser">
<node ID="Freemind_Link_797115131" 
	TEXT="创建目录 &lt;mkdir dir=&quot;${dist}/browser&quot; /&gt;"/>
<node ID="Freemind_Link_1079362994" 
	TEXT="创建 ${dist}/browser/freemindbrowser.jar，即浏览器 applet "/>
<node FOLDED="true" ID="Freemind_Link_857065457" 
	TEXT="freemindbrowser.jar 包含文件">
<node FOLDED="true" ID="Freemind_Link_471382831" 
	TEXT="${build} 目录下">
<node 
	TEXT="freemind/extensions/*"/>
<node 
	TEXT="freemind/view/*"/>
<node 
	TEXT="freemind/view/mindmapview/*"/>
<node 
	TEXT="freemind/main/*"/>
<node 
	TEXT="freemind/controller/*"/>
<node 
	TEXT="freemind/modes/*"/>
<node 
	TEXT="freemind/modes/browsemode/*"/>
<node 
	TEXT="accessories/plugins/**"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1168994174" 
	TEXT="${src} 目录下">
<node 
	TEXT="images/*"/>
<node 
	TEXT="images/icons/*.png"/>
<node ID="Freemind_Link_331180460" 
	TEXT="*.properties"/>
<node ID="Freemind_Link_1700886100" 
	TEXT="accessories/plugins/**"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1912360046" 
	TEXT="拷贝文件">
<node ID="Freemind_Link_638542544" 
	TEXT="${src}/freemind.properties 拷贝到 ${src}/user.properties"/>
<node ID="Freemind_Link_617378101" 
	TEXT="将 ${src}/html/*.*html 拷贝到 ${dist}/browser 下"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_2290929" 
	TEXT="doc">
<node ID="Freemind_Link_775361187" 
	TEXT="创建目录 ${dist}/doc"/>
<node ID="Freemind_Link_1595170542" 
	TEXT="创建目录 ${dist}/doc/javadoc"/>
<node ID="Freemind_Link_1945091965" 
	TEXT="将 ${src}/doc/freemind.mm 文件拷贝到 ${dist}/doc"/>
<node ID="Freemind_Link_1328893121" 
	TEXT="将 ${src} 中 freemind.* 的 package 生成 javadoc 到 ${dist}/doc/javadoc 目录"/>
</node>
<node FOLDED="true" ID="Freemind_Link_218963142" 
	TEXT="post">
<node ID="Freemind_Link_259291030" 
	TEXT="创建目录 ${post}"/>
<node FOLDED="true" ID="Freemind_Link_1125933012" 
	TEXT="创建 ${post}/freemind-bin.tar.gz 和 freemind-bin.zip">
<node ID="Freemind_Link_743299922" 
	TEXT="包含 ${dist} 中除了 browser/,doc/javadoc/,plugins/** 外的文件"/>
</node>
<node FOLDED="true" ID="Freemind_Link_591047035" 
	TEXT="创建 ${post}/freemind-src.tar.gz 和 freemind-src.zip">
<node ID="Freemind_Link_1720174146" 
	TEXT="包含 ${src_base_for_post}（../） 中 freemind/**,.classpath,.project 文件"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1267805286" 
	TEXT="创建 ${post}/freemind-browser.tar.gz 和 freemind-browser.zip">
<node ID="Freemind_Link_182910909" 
	TEXT="包含 ${dist}/browser 文件"/>
</node>
<node FOLDED="true" ID="Freemind_Link_652669815" 
	TEXT="执行 plugins/build.xml，目标 post">
<font NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_994341928" 
	TEXT="plugins/build_help.xml， 目标 post"/>
<node ID="Freemind_Link_1625439204" 
	TEXT="plugins/build_svg.xml， 目标 post"/>
<node ID="Freemind_Link_1808440760" 
	TEXT="plugins/build_time..xml， 目标 post"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_615707382" 
	TEXT="run">
<node ID="Freemind_Link_393251654" 
	TEXT="执行 ${FM.jar} 的 freemind.main.FreeMind"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1603325659" 
	TEXT="clean">
<node ID="Freemind_Link_520284312" 
	TEXT="删除目录 build, dist, dist_macos_base, gen.dir, post, &#xa;删除文件 src/**/*~"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_107834387" 
	TEXT="build.xml 异常处理">
<node FOLDED="true" ID="Freemind_Link_418066892" 
	TEXT="报错">
<node 
	TEXT="E:\Home\WORK\eclipse\freemind\build.xml:23: taskdef class com.loomcom.ant.tasks.jarbundler.JarBundler cannot be found"/>
<node FOLDED="true" ID="Freemind_Link_784726161" 
	TEXT="在 Preferences -&gt; Ant -&gt; Runtime -&gt; Classpath 中设置。">
<node ID="Freemind_Link_1337323848" 
	TEXT="Add jars -&gt; freemind/lib/jarbundler-1.4.jar"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1715307800" 
	TEXT="报错">
<node 
	TEXT="E:\Home\WORK\eclipse\freemind\build.xml:35: taskdef class com.sun.tools.xjc.XJCTask cannot be found"/>
<node FOLDED="true" ID="Freemind_Link_1163326636" 
	TEXT="在 Preferences -&gt; Ant -&gt; Runtime -&gt; Classpath 中设置。">
<node ID="Freemind_Link_452199483" 
	TEXT="Add jars -&gt; freemind/lib/ant/lib/jaxb-xjc.jar"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1410140293" 
	TEXT="报错">
<node ID="Freemind_Link_1811357155" 
	TEXT="E:\Home\WORK\eclipse\freemind\build.xml:75: The following error occurred while executing this line:&#xa;java.lang.NoClassDefFoundError: org/apache/xerces/xni/XNIException"/>
<node ID="Freemind_Link_1438843627" 
	TEXT="使用 jwsp2.0 的 lib 取代 freemind/lib 下的 jar 文件"/>
</node>
<node FOLDED="true" ID="Freemind_Link_905140915" 
	TEXT="报错">
<node ID="Freemind_Link_907519513" 
	TEXT="    [javac] Compiling 65 source files to E:\Home\WORK\eclipse\bin\classes&#xa;    [javac] E:\Home\WORK\eclipse\freemind\generated\actions\freemind\controller\actions\generated\instance\AddArrowLinkXmlAction.java:45: -source 1.3 中不支持注释&#xa;    [javac] （请尝试使用 -source 1.5 以启用注释）&#xa;    [javac] @XmlAccessorType(AccessType.FIELD)&#xa;    [javac] ^&#xa;"/>
<node ID="Freemind_Link_189984790" 
	TEXT="如何 debug classpath 的值？ &lt;fail message=&quot;${classpath}&quot;/&gt;"/>
<node ID="Freemind_Link_1340569510" 
	TEXT="解决方法：问题出在 java_target_version 的值，修改为 1.5"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1829222982" 
	TEXT="报错">
<node ID="Freemind_Link_585902002" 
	TEXT="    [javac] E:\Home\WORK\eclipse\freemind\freemind\preferences\layout\OptionPanel.java:67: 找不到符号&#xa;    [javac] 符号： 类 OptionPanelWindowConfigurationStorageType&#xa;    [javac] 位置： 软件包 freemind.controller.actions.generated.instance&#xa;    [javac] import freemind.controller.actions.generated.instance.OptionPanelWindowConfigurationStorageType;&#xa;    [javac] ^&#xa;"/>
<node ID="Freemind_Link_36387893" 
	TEXT="classpath 为 ：&#xa;lib/ant/lib/jaxb-xjc.jar:lib/ant/lib/jaxb-api.jar:lib/ant/lib/jaxb-impl.jar:lib/ant/lib/jaxb-libs.jar:lib/ant/lib/namespace.jar:lib/ant/lib/relaxngDatatype.jar:lib/ant/lib/xsdlib.jar:lib/ant/lib/jax-qname.jar:lib/ant/lib/sax.jar:lib/ant/lib/dom.jar:lib/commons-lang-2.0.jar:lib/forms-1.0.5.jar "/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_835606910" 
	TEXT="创建 Eclipse 工程">
<node FOLDED="true" ID="Freemind_Link_1211560828" 
	TEXT="目录结构">
<node ID="Freemind_Link_106406627" 
	TEXT=".classpath&#xa;.project&#xa;freemind/build.xml&#xa;freemind/accessories&#xa;freemind/freemind&#xa;freemind/plugins&#xa;..."/>
</node>
<node ID="Freemind_Link_1686778107" 
	TEXT="从 build.xml 创建新 java 工程"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1511307513" 
	TEXT="如何提交更改？">
<node FOLDED="true" ID="Freemind_Link_1970897514" 
	TEXT="Wiki">
<node ID="Freemind_Link_1832386521" 
	TEXT="在 Wiki 上建立自述页面 User:YOUR_NAME，并将自己的更改作为自述页面的自页面；"/>
<node ID="Freemind_Link_1327277375" 
	TEXT="格式参照：  http://freemind.sourceforge.net/wiki/index.php/User:Jiangxin"/>
<node ID="Freemind_Link_1358549848" 
	TEXT="提交到 WHODO Wiki 上，最好在提交到 http://freemind.sourceforge.net/wiki/ 上一份，因为那里是 FreeMind 大本营，有足够多的眼睛帮你找 Bug"/>
</node>
<node FOLDED="true" ID="Freemind_Link_760012721" 
	TEXT="SVN">
<node ID="Freemind_Link_1238526388" 
	TEXT="申请获得 WHODO SVN 用户账号；"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_4604100" 
	TEXT="关于 Freemind.exe">
<node ID="Freemind_Link_861336145" 
	TEXT="实际上是 lib/freemind.jar 的一个 Wrapper"/>
<node FOLDED="true" ID="Freemind_Link_915876304" 
	TEXT="实际执行的命令行">
<node ID="Freemind_Link_748192297" 
	TEXT="javaw.exe"/>
<node FOLDED="true" ID="Freemind_Link_872054497" 
	TEXT="-Xmx256M">
<node ID="Freemind_Link_611429171" 
	TEXT="内存最大占用 256MB。因此如果编辑大文件，存在内存问题，可以从这里入手修改。">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>
<node ID="Freemind_Link_1929656870" 
	TEXT="-jar"/>
<node ID="Freemind_Link_1592634363" 
	TEXT="&lt;PATH&gt;\\lib\\freemind.jar"/>
<node ID="Freemind_Link_206654170" 
	TEXT="其余参数从 main() 的参数传递"/>
<node ID="Freemind_Link_1356774133" 
	TEXT="最后一个参数为 null"/>
</node>
<node ID="Freemind_Link_915719985" 
	TEXT="如果将来编辑大文件（100MB）存在内存问题，可能需要修改 Freemind.exe 调用 JVM 的参数！"/>
</node>
<node FOLDED="true" ID="Freemind_Link_453681464" 
	TEXT="处理流程">
<node FOLDED="true" ID="Freemind_Link_247350915" 
	TEXT="freemind.main">
<node FOLDED="true" ID="Freemind_Link_1066379644" 
	TEXT="main/FreeMind.java">
<node ID="Freemind_Link_1280162027" 
	TEXT="main()"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1977156845" 
	TEXT="文件打开">
<node FOLDED="true" ID="Freemind_Link_31371904" 
	TEXT="modes/ControllerAdapter.java">
<node ID="Freemind_Link_103438654" 
	TEXT="打开文件对话框"/>
<node FOLDED="true" ID="Freemind_Link_1080677388" 
	TEXT="line 660: public void open()">
<node ID="Freemind_Link_1986277200" 
	TEXT="加载文件: load(chooser.getSelectedFile());">
<arrowlink DESTINATION="Freemind_Link_1805329207" ENDARROW="Default" ENDINCLINATION="217;0;" ID="Freemind_Arrow_Link_1004512173" STARTARROW="None" STARTINCLINATION="217;0;"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1805329207" 
	TEXT="line 541: public void load (File file)">
<arrowlink DESTINATION="Freemind_Link_1986401424" ENDARROW="Default" ENDINCLINATION="47;0;" ID="Freemind_Arrow_Link_428869517" STARTARROW="None" STARTINCLINATION="82;0;"/>
<node 
	TEXT="model.load(file);"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_206532566" 
	TEXT="modes/mindmapmode/MindMapMapModel.java">
<node FOLDED="true" ID="Freemind_Link_1986401424" 
	TEXT="line 508: public void load(File file)">
<node FOLDED="true" ID="Freemind_Link_417290305" 
	TEXT="MindMapNodeModel root = loadTree(file);">
<arrowlink DESTINATION="Freemind_Link_1381097000" ENDARROW="Default" ENDINCLINATION="292;0;" ID="Freemind_Arrow_Link_1890301090" STARTARROW="None" STARTINCLINATION="292;0;"/>
<node ID="Freemind_Link_1889224305" 
	TEXT="加载文件"/>
</node>
<node ID="Freemind_Link_925499367" 
	TEXT="是不是在这里加载 .mmx 文件？">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1381097000" 
	TEXT="line 544: loadTree(File file)">
<node ID="Freemind_Link_1431158249" 
	TEXT="检查文件头 &lt;map version=...，因此如果最前面加上 &lt;?xml ... 会造成版本判断错误！">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1372610927" 
	TEXT="版本正确">
<node 
	TEXT="reader = getActualReader(file);"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1357606599" 
	TEXT="版本太旧">
<node FOLDED="true" ID="Freemind_Link_1761981820" 
	TEXT="reader = getUpdateReader(file);">
<node ID="Freemind_Link_1122991728" 
	TEXT="用 xslt 文件 freemind/modes/mindmapmode/freemind_version_updater.xslt 进行格式转换"/>
</node>
</node>
<node ID="Freemind_Link_958857263" 
	TEXT="mapElement.parseFromReader(reader);"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_347655959" 
	TEXT="文件保存">
<node FOLDED="true" ID="Freemind_Link_330228848" 
	TEXT="modes/ControllerAdapter.java">
<node FOLDED="true" ID="Freemind_Link_263411523" 
	TEXT="line 699: public boolean saveAs() ">
<node ID="Freemind_Link_1203851535" 
	TEXT="File f = chooser.getSelectedFile();"/>
<node FOLDED="true" ID="Freemind_Link_689647375" 
	TEXT="保存文件到 f，并强制扩展名为 .mm">
<node ID="Freemind_Link_741049636" 
	TEXT="        String ext = Tools.getExtension(f.getName());&#xa;        if(!ext.equals(&quot;mm&quot;)) {&#xa;           f = new File(f.getParent(),f.getName()+&quot;.mm&quot;); }        &#xa;"/>
</node>
<node ID="Freemind_Link_274755276" 
	TEXT="调用 save(f) 保存文件">
<arrowlink DESTINATION="Freemind_Link_1971628092" ENDARROW="Default" ENDINCLINATION="165;0;" ID="Freemind_Arrow_Link_1321206432" STARTARROW="None" STARTINCLINATION="165;0;"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1971628092" 
	TEXT="public boolean save(File file) ">
<node ID="Freemind_Link_1183594662" 
	TEXT="调用 getModel().save(file)"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_735546910" 
	TEXT="modes/mindmapmode/MindMapMapModel.java">
<node ID="Freemind_Link_355826110" 
	TEXT="line 406:  save(File file)">
<arrowlink DESTINATION="Freemind_Link_965138483" ENDARROW="Default" ENDINCLINATION="192;0;" ID="Freemind_Arrow_Link_1013047404" STARTARROW="None" STARTINCLINATION="192;0;"/>
</node>
<node FOLDED="true" ID="Freemind_Link_965138483" 
	TEXT="line 411: boolean saveInternal(File file, boolean isInternal)">
<node FOLDED="true" ID="Freemind_Link_469868447" 
	TEXT="保存文件">
<node 
	TEXT="BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file), FreeMind.DEFAULT_CHARSET ) );"/>
<node ID="Freemind_Link_442855904" 
	TEXT="getXml(fileout);">
<arrowlink DESTINATION="Freemind_Link_227772565" ENDARROW="Default" ENDINCLINATION="369;0;" ID="Freemind_Arrow_Link_1292254921" STARTARROW="None" STARTINCLINATION="369;0;"/>
</node>
</node>
<node ID="Freemind_Link_1963682553" 
	TEXT="增加保存 .mmx 文件，用于保存 fold 等属性"/>
</node>
<node FOLDED="true" ID="Freemind_Link_227772565" 
	TEXT="line 445: getXml(fileout)">
<node ID="Freemind_Link_304823088" 
	TEXT="保存 XML 文件"/>
<node ID="Freemind_Link_1438273895" 
	TEXT="((MindMapNodeModel)getRoot()).save(fileout, this.getLinkRegistry());">
<arrowlink DESTINATION="Freemind_Link_1139438905" ENDARROW="Default" ENDINCLINATION="421;0;" ID="Freemind_Arrow_Link_1846422842" STARTARROW="None" STARTINCLINATION="421;0;"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_316675860" 
	TEXT="modes/mindmapmode/MindMapNodeModel.java">
<node ID="Freemind_Link_1139438905" 
	TEXT="继承 NodeAdapter">
<arrowlink DESTINATION="Freemind_Link_50579119" ENDARROW="Default" ENDINCLINATION="197;0;" ID="Freemind_Arrow_Link_1586599926" STARTARROW="None" STARTINCLINATION="197;0;"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_950593154" 
	TEXT="modes/NodeAdapter.java">
<node FOLDED="true" ID="Freemind_Link_50579119" 
	TEXT="line 829: public XMLElement save(Writer writer, MindMapLinkRegistry registry)">
<node FOLDED="true" ID="Freemind_Link_331519363" 
	TEXT="不保存 FOLDED 属性">
<node ID="Freemind_Link_1701362483" 
	TEXT="        if (0 == save_attr)&#xa;    &#x9;{&#xa;    &#x9;&#x9;if (!isRoot() &amp;&amp; !isLeaf()) {&#xa;    &#x9;&#x9;&#x9;node.setAttribute(&quot;FOLDED&quot;,&quot;true&quot;);&#xa;    &#x9;&#x9;}&#xa;    &#x9;}&#xa;"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1194618159" 
	TEXT="写 node">
<node FOLDED="true" ID="Freemind_Link_634919699" 
	TEXT="child.save(writer, registry);&#xa;node.writeClosingTag(writer);">
<node ID="Freemind_Link_823965903" 
	TEXT="如果包含字节点"/>
</node>
<node ID="Freemind_Link_9628896" 
	TEXT="node.write(writer);">
<arrowlink DESTINATION="Freemind_Link_1967427320" ENDARROW="Default" ENDINCLINATION="270;0;" ID="Freemind_Arrow_Link_1444693987" STARTARROW="None" STARTINCLINATION="270;0;"/>
</node>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_8694099" 
	TEXT="main/XMLElement.java">
<node ID="Freemind_Link_1967427320" 
	TEXT="line 2193: public void write(Writer writer, boolean withClosingTag)"/>
<node FOLDED="true" ID="Freemind_Link_1521378270" 
	TEXT="设置 only_attlist">
<node ID="Freemind_Link_945409491" 
	TEXT="只保存 only_attlist 的属性。不再检查 hide_attlist"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1655677242" 
	TEXT="设置 hide_attlist">
<node ID="Freemind_Link_1964659248" 
	TEXT="不保存 hide_attlist 的属性"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1749983879" 
	TEXT="设置 em_attlist">
<node ID="Freemind_Link_1199539125" 
	TEXT="设置为强调的 em_attlist，另起一行显示。显示完毕如果还有属性值，换行并缩进"/>
</node>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_540286668" 
	TEXT="Hacking">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node FOLDED="true" ID="Freemind_Link_153678580" 
	TEXT="版本号">
<node FOLDED="true" ID="Freemind_Link_989618317" 
	TEXT="main/FreeMind.java ">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1965391059" 
	TEXT="public static final String version = &quot;0.8.0(worldhello.net)&quot;; "/>
</node>
<node FOLDED="true" ID="Freemind_Link_206547945" 
	TEXT="controller/Controller.java">
<node ID="Freemind_Link_533056935" 
	TEXT="该文件读取 FreeMind.version，但是由于没有设置依赖关系，造成 About 对话框没有更新。需要 rebuild."/>
</node>
<node FOLDED="true" ID="Freemind_Link_1890191063" 
	TEXT="build.xml">
<node ID="Freemind_Link_611413449" 
	TEXT="&lt;property name=&quot;ver&quot; value=&quot;0_8_0&quot; /&gt;"/>
<node ID="Freemind_Link_1004458545" 
	TEXT="决定生成 jar 文件的文件名"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_773939713" 
	TEXT="中文内容的存储。utf-8 格式的 xml 文件。">
<node FOLDED="true" ID="Freemind_Link_280594994" 
	TEXT="文件 modes/ControllerAdapter.java">
<node ID="Freemind_Link_468215801" 
	TEXT="public boolean saveAs() "/>
<node ID="Freemind_Link_47793143" 
	TEXT="public boolean save(File file) "/>
</node>
<node FOLDED="true" ID="Freemind_Link_638850632" 
	TEXT="modes/mindmapmode/MindMapMapModel.java">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node FOLDED="true" ID="Freemind_Link_368916152" 
	TEXT="private boolean saveInternal(File file, boolean isInternal) ">
<node ID="Freemind_Link_325609082" 
	TEXT="保存文件接口， isInternal 为 true，则是保存备份"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1956774680" 
	TEXT="line 418 增加 charset 设置">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1142801037">
<richcontent TYPE="NODE"><html>
  <head>
    
  </head>
  <body>
    BufferedWriter fileout = new BufferedWriter( new OutputStreamWriter( new FileOutputStream(file), "<b>UTF-8</b>" ) );
  </body>
</html></richcontent>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1356194758" 
	TEXT="line 444: public void getXml(Writer fileout) ">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_590274686" 
	TEXT="写 XML 文件"/>
<node FOLDED="true" ID="Freemind_Link_1064443752" 
	TEXT="增加一行">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_752873856" 
	TEXT="fileout.write(&quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;\n&quot;);"/>
</node>
<node ID="Freemind_Link_1222416786" 
	TEXT="((MindMapNodeModel)getRoot()).save(fileout, this.getLinkRegistry());">
<arrowlink DESTINATION="Freemind_Link_408391117" ENDARROW="Default" ENDINCLINATION="330;0;" ID="Freemind_Arrow_Link_756343684" STARTARROW="None" STARTINCLINATION="330;0;"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_408391117" 
	TEXT="modes/public XMLElement save(Writer writer, MindMapLinkRegistry registry) ">
<node ID="Freemind_Link_714323382" 
	TEXT="保存 node 信息"/>
<node FOLDED="true" ID="Freemind_Link_1560638938" 
	TEXT="NODE 格式">
<node 
	TEXT="&lt;node CREATED=&quot;1143916340296&quot; FOLDED=&quot;true&quot; ID=&quot;Freemind_Link_747410934&quot; MODIFIED=&quot;1143916344265&quot; POSITION=&quot;right&quot; TEXT=&quot;&amp;#x7ed3;&amp;#x675f;&amp;#x6d4b;&amp;#x8bd5;&quot;&gt;"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1215461907" 
	TEXT="main/XMLElement.java">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node FOLDED="true" ID="Freemind_Link_894239741" 
	TEXT="public void write(Writer writer, boolean withClosingTag)">
<font NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_884282703" 
	TEXT="保存 node"/>
<node 
	TEXT="this.writeEncoded(writer, this.contents);"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1235542612" 
	TEXT="protected void writeEncoded(Writer writer, String str)">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_762452598" 
	TEXT="                    int unicode = (int) ch;&#xa;                    if ((unicode &lt; 32) /*|| (unicode &gt; 126)*/ ) {&#xa;                        writer.write(&apos;&amp;&apos;); writer.write(&apos;#&apos;);&#xa;                        writer.write(&apos;x&apos;);&#xa;                        writer.write(Integer.toString(unicode, 16));&#xa;                        writer.write(&apos;;&apos;);&#xa;                    } else {&#xa;                        writer.write(ch);&#xa;                    }&#xa;"/>
<node ID="Freemind_Link_1503280973" 
	TEXT="写入：String newStr = new String(oldStr.getByte(“GB2312”), “ISO8859_1”);&#xa;读出：String newStr = new String(oldStr.getByte(“ISO8859_1”),”GB2312”);&#xa;"/>
<node FOLDED="true" ID="Freemind_Link_1578683283" 
	TEXT="示例">
<node ID="Freemind_Link_729024460" 
	TEXT="import java.io.*;&#xa;&#xa;public class inputtest {&#xa;  &#xa;  public static void main(String[] args) {&#xa;    String outfile = null;&#xa;&#xa;    try { convert(args[0], args[1], &quot;GB2312&quot;, &quot;UTF8&quot;); } // or &quot;BIG5&quot;&#xa;    catch (Exception e) {&#xa;      System.out.print(e.getMessage());&#xa;      System.exit(1);&#xa;    }&#xa;  }&#xa;&#xa;  public static void convert(String infile, String outfile, String from, String to) &#xa;       throws IOException, UnsupportedEncodingException&#xa;  {&#xa;    // set up byte streams&#xa;    InputStream in;&#xa;    if (infile != null) in = new FileInputStream(infile);&#xa;    else in = System.in;&#xa;    OutputStream out;&#xa;    if (outfile != null) out = new FileOutputStream(outfile);&#xa;    else out = System.out;&#xa;&#xa;    // Use default encoding if no encoding is specified.&#xa;    if (from == null) from = System.getProperty(&quot;file.encoding&quot;);&#xa;    if (to == null) to = System.getProperty(&quot;file.encoding&quot;);&#xa;&#xa;    // Set up character stream&#xa;    Reader r = new BufferedReader(new InputStreamReader(in, from));&#xa;    Writer w = new BufferedWriter(new OutputStreamWriter(out, to));&#xa;&#xa;    // Copy characters from input to output.  The InputStreamReader&#xa;    // converts from the input encoding to Unicode,, and the OutputStreamWriter&#xa;    // converts from Unicode to the output encoding.  Characters that cannot be&#xa;    // represented in the output encoding are output as &apos;?&apos;&#xa;    char[] buffer = new char[4096];&#xa;    int len;&#xa;    while((len = r.read(buffer)) != -1) &#xa;      w.write(buffer, 0, len);&#xa;    r.close();&#xa;    w.flush();&#xa;    w.close();&#xa;  }&#xa;&#xa;}&#xa;"/>
</node>
</node>
<node ID="Freemind_Link_228836602" 
	TEXT="   public String toString()  "/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_196690741" 
	TEXT="fold/unford 的存储信息保存在外部">
<font NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_279762883" 
	TEXT="保存在文件 .mmx 中"/>
</node>
<node ID="Freemind_Link_1912935422" 
	TEXT="读入 MindMap，连同 .mmx 一并读入">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
<node ID="Freemind_Link_305613236" 
	TEXT="节点被选择后，输入 ascii 字符，直接替换，但是输入中文则不起作用！">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
<node FOLDED="true" ID="Freemind_Link_545228396" 
	TEXT="设置对话框增加">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1462194822" 
	TEXT="保存文件的字符集"/>
<node ID="Freemind_Link_1398891243" 
	TEXT="分开存放 fold/unfold 等信息"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1301669122" POSITION="left" 
	TEXT="其他">
<icon BUILTIN="help"/>
<node FOLDED="true" ID="Freemind_Link_589832144" 
	TEXT="用户自定义">
<node ID="Freemind_Link_425957412" 
	TEXT="目录: C:\Documents and Settings\&lt;UserName&gt;\.freemind "/>
<node FOLDED="true" ID="Freemind_Link_1927554508" 
	TEXT="user.properties">
<node ID="Freemind_Link_1769004723" 
	TEXT="C:\Documents and Settings\&lt;UserName&gt;\.freemind\user.properties"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1553305141" 
	TEXT="patterns.xml">
<node ID="Freemind_Link_193643973" 
	TEXT="用户可以自定义 patterns.xml"/>
<node ID="Freemind_Link_1936131317" 
	TEXT="自定义样式"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1056355014" 
	TEXT="自动保存">
<node FOLDED="true" ID="Freemind_Link_1558456782" 
	TEXT="自动保存的目录">
<node ID="Freemind_Link_659043161" 
	TEXT="user.properties 中的默认配置是 path_to_automatic_saves=freemind_home"/>
<node ID="Freemind_Link_647925142" 
	TEXT="即 user.properties 所在的目录"/>
</node>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_947773230" POSITION="left" 
	TEXT="版本控制">
<node FOLDED="true" ID="Freemind_Link_1757541703" 
	TEXT="版本">
<node FOLDED="true" ID="Freemind_Link_1564385688" 
	TEXT="0.4">
<node ID="Freemind_Link_1853726563" 
	TEXT="补充 Debian Linux 下安装 WorldHello 版本的 FreeMind。(2007/06/19)"/>
<node ID="Freemind_Link_1943835699" 
	TEXT="增加 FreeMind Flash player 限制条件。(2007/06/19)"/>
</node>
<node FOLDED="true" ID="Freemind_Link_1127595077" 
	TEXT="0.3">
<node ID="Freemind_Link_1940091493" 
	TEXT="修改 whodo svn 地址。 (2007/06/04)"/>
<node ID="Freemind_Link_572328670" 
	TEXT="添加 freemind 下载地址。 (2007/06/04)"/>
</node>
<node FOLDED="true" ID="Freemind_Link_211307111" 
	TEXT="0.2">
<node ID="Freemind_Link_302969466" 
	TEXT="补充 FreeMind 在网页上的显示。 (2006/05/03)"/>
</node>
</node>
<node FOLDED="true" ID="Freemind_Link_1998866896" 
	TEXT="作者">
<node ID="Freemind_Link_1892886125" LINK="http://www.worldhello.net/about" 
	TEXT="蒋鑫"/>
</node>
</node>
</node>
</map>
