NanoXML: Difference between revisions

From FreeMind
Jump to navigationJump to search
No edit summary
No edit summary
Line 13: Line 13:
A (modified) copy of the source code is present in the FreeMind source code repository.
A (modified) copy of the source code is present in the FreeMind source code repository.


Files relating to NanoXML:
NanoXML/Lite itself comes with two files only:
* XMLElement.java
* XMLParseException.java
 
These two files in FreeMind:
* freemind\freemind\main\XMLElement.java[https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/main/XMLElement.java]
* freemind\freemind\main\XMLElement.java[https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/main/XMLElement.java]
* freemind\freemind\main\XMLParseException.java[https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/main/XMLParseException.java]
* freemind\freemind\main\XMLParseException.java[https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/main/XMLParseException.java]
* freemind\freemind\modes\XMLElementAdapter.java
 
* freemind\freemind\modes\browsemode\BrowseXMLElement.java
XMLElement class is extended by XMLElementAdapter, which is then extended by MindMapXMLElement and BrowseXMLElement.
* freemind\freemind\modes\mindmapmode\MindMapXMLElement.java


Related directories:
Related directories:

Revision as of 08:40, 29 August 2026

(Development documentation.)

NanoXML is said to be an XML parser, which was perhaps true of version 1, but is now actually a collection of XML parsers. See also Components.

As per the original web site, the parsers are as follows:

  • NanoXML/Java
  • NanoXML/SAX
  • NanoXML/Lite

See the link above for detail.

FreeMind 1.0.1 (and multiple earlier versions) uses a modified version of NanoXML 2 Lite to parse mind map XML (and possibly for other purposes?). As per devix.com, "NanoXML/Lite" is "An extremely small (6KB) XML parser which is the successor of NanoXML 1. It only provides a limited functionality: no mixed content and the DTD is ignored."[1].

A (modified) copy of the source code is present in the FreeMind source code repository.

NanoXML/Lite itself comes with two files only:

  • XMLElement.java
  • XMLParseException.java

These two files in FreeMind:

  • freemind\freemind\main\XMLElement.java[2]
  • freemind\freemind\main\XMLParseException.java[3]

XMLElement class is extended by XMLElementAdapter, which is then extended by MindMapXMLElement and BrowseXMLElement.

Related directories:

  • freemind\freemind\main[4]
  • etc.

In the patches tracker, there is a patch to NanoXML's XMLElement.java and other files that would enable FreeMind to store mind maps as UTF-8: https://sourceforge.net/p/freemind/patches/67/. And that patch points to User:Jiangxin/Better chinese characters support, which has a diff.

Links: