关于转换mmap文件为mm文件[freemind]

背景: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>


没有更多推荐了,返回首页