NanoXML: Difference between revisions

From FreeMind
Jump to navigationJump to search
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
''(Development documentation.)''
''(Development documentation.)''


NanoXML is an XML parser used to parse mind map XML (see also [[Components]]). FreeMind uses ''NanoXML 2 Lite''. 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."[https://web.archive.org/web/20110814134950/http://devkix.com/nanoxml.php].
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 [https://web.archive.org/web/20040829081018/http://nanoxml.cyberelf.be/ 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."[https://web.archive.org/web/20110814134950/http://devkix.com/nanoxml.php].


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.
Line 10: Line 18:
* freemind\freemind\modes\XMLElementAdapter.java
* freemind\freemind\modes\XMLElementAdapter.java
* freemind\freemind\modes\browsemode\BrowseXMLElement.java
* freemind\freemind\modes\browsemode\BrowseXMLElement.java
* freemind\freemind\modes\mindmapmode\MindMapXMLElement.java¨
* freemind\freemind\modes\mindmapmode\MindMapXMLElement.java


Related directories:
Related directories:
* freemind\freemind\main[https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/main/]
* freemind\freemind\main[https://sourceforge.net/p/freemind/code/ci/master/tree/freemind/freemind/main/]
* etc.
* 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:
Links:
* [http://nanoxml.cyberelf.be/ NanoXML], nanoxml.cyberelf.be
* [http://nanoxml.cyberelf.be/ NanoXML], nanoxml.cyberelf.be -- 27 Aug 2026: the link does not load; see also [https://web.archive.org/web/20040829081018/http://nanoxml.cyberelf.be/ Wayback Machine at 29 Aug 2004]
* [https://web.archive.org/web/20110814134950/http://devkix.com/nanoxml.php devkix.com at Wayback Machine]
* [https://web.archive.org/web/20110814134950/http://devkix.com/nanoxml.php devkix.com at Wayback Machine]
* [https://sourceforge.net/projects/nanoxml/ nanoxml], sourceforge.net
* [https://web.archive.org/web/20021005190408/http://nanoxml.sourceforge.net/orig/ http://nanoxml.sourceforge.net/orig/], archived at Wayback Machine on 5 Oct 2002
* [https://mvnrepository.com/artifact/be.cyberelf.nanoxml/nanoxml/used-by Maven Repository: be.cyberelf.nanoxml » nanoxml - Used By], mvnrepository.com
* [https://geekycoder.wordpress.com/2008/07/07/using-the-enhanced-nanoxml-the-extremely-compact-java-xml-parser/ Using the ‘enhanced’ NanoXML, the extremely compact Java XML Parser], 7 July 2008, geekycoder.wordpress.com


[[Category:Development]]
[[Category:Development]]

Latest revision as of 11:18, 27 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.

Files relating to NanoXML:

  • freemind\freemind\main\XMLElement.java[2]
  • freemind\freemind\main\XMLParseException.java[3]
  • freemind\freemind\modes\XMLElementAdapter.java
  • freemind\freemind\modes\browsemode\BrowseXMLElement.java
  • freemind\freemind\modes\mindmapmode\MindMapXMLElement.java

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: