背景:freemind是比较小型而又实用的思维导图软件,最近下了点学习资料,也有思维导图文件出现,但是是mind manager软件下的格式mmap,所以需要转换格式。
所幸,网上搜到转换方法,特此一记.(因为有点麻烦的感觉)
似乎没法转换具体笔记内容?
首先附上参考资料:
参考资料:
1.转换资料参考
http://www.cnblogs.com/jackei/archive/2005/04/12/136305.html
2.mm2fm.xslt来源(局部内容,encoding需要修改)
http://www.liberatedcomputing.net/mm2fm/scripts/mm2fm
3.xsltproc.exe文件下载
http://download.csdn.net/detail/qqliveapple/4493697
内容的话,其实看参考资料一就能明白,也明白为啥会有2和3。
这里再啰嗦下步骤:
首先在cmd到xsltproc的目录下,需要有mm2fm.xslt文件,自己写个或者下个。文件内容在最后。
输入命令:
xsltproc.exe -o test.mm mm2fm.xslt Document.xml
解析:
test.mm为生成的mm文件
Document.xml为用rar等压缩工具打开的mmap文件目录下的文件(有路径时得加路径【我提醒我自己】)
回车,碉堡了~~~
<?xml version="1.0" encoding="UTF-8"?>
<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>