NanoXML: Difference between revisions
Dan Polansky (talk | contribs) No edit summary |
Dan Polansky (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
''(Development documentation.)'' | ''(Development documentation. Written by Dan Polansky, bar perhaps any edits later.)'' | ||
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]]. | 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]]. | ||
| Line 8: | Line 8: | ||
* NanoXML/Lite | * NanoXML/Lite | ||
See the link above for detail. | See the link above for detail. | ||
A note on naming: the prefix "nano-" in NanoXML referred to its being extremely small (compare nanometer, nanobot, etc.) It seems that what was originally NanoXML became NanoXML/Lite (I must have read it in the documentation). The presence of "NanoXML" in "NanoXML/Java" in misleading: this parser is no longer nano. | |||
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]. | 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]. | ||
Latest revision as of 08:57, 29 August 2026
(Development documentation. Written by Dan Polansky, bar perhaps any edits later.)
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.
A note on naming: the prefix "nano-" in NanoXML referred to its being extremely small (compare nanometer, nanobot, etc.) It seems that what was originally NanoXML became NanoXML/Lite (I must have read it in the documentation). The presence of "NanoXML" in "NanoXML/Java" in misleading: this parser is no longer nano.
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:
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:
- NanoXML, nanoxml.cyberelf.be -- 27 Aug 2026: the link does not load; see also Wayback Machine at 29 Aug 2004
- devkix.com at Wayback Machine
- nanoxml, sourceforge.net
- http://nanoxml.sourceforge.net/orig/, archived at Wayback Machine on 5 Oct 2002
- Maven Repository: be.cyberelf.nanoxml » nanoxml - Used By, mvnrepository.com
- Using the ‘enhanced’ NanoXML, the extremely compact Java XML Parser, 7 July 2008, geekycoder.wordpress.com