/ Software / mc

XML Virtual FileSystem for Midnight Commander

Download XML Virtual FileSystem for Midnight Commander.

git clone

git clone git://

See the installation instructions.

The script requires Midnight Commander 3.1+ (, Python 2.4+ (


Version 1.1.5 (2015-07-08)

Set directories/files date/time to the last modification time of the XML file.

Version 1.1.4 (2015-03-21)

Minor documentation update.

Version 1.1.3 (2015-03-14)

Fix a minor bug in handling namespaces (lxml).

Version 1.1.2 (2015-01-10)

Changed link to installation instructions.

Version 1.1.1 (2014-07-17)

Fix a bug in removing excessive namespaces (lxml).

Version 1.1.0 (2013-11-26)

Show comment(s) before the root element.

Version 1.0.0 (2013-11-23)

With lxml.etree-based implementation show only child namespaces (calculated as combined namespaces minus parent's namespaces).

The VFS represents tags as directories; the directories are numbered to distinguish tags with the same name; numbering also helps to sort tags by their order in XML instead of sorting them by name and prevents name clash when tag names coincide with the names of special files used by XML VFS. Attributes, text nodes and comments are represented as text files; attributes are shown in a file named "attributes", attributes are listed in the file as name=value lines (I deliberately ignore a small chance of newline characters in values); names and values are reencoded to the console encoding. Text nodes and comments are collected in a file named "text", stripped and reencoded. The filesystem is read-only.

Date/time for all directories/files set to the last modification time of the XML file.

Implementation based on minidom doesn't understand namespaces, it just shows them among other attributes. ElementTree-based implementation doesn't show namespaces at all. Implementation based on lxml.etree shows namespaces in a separate file "namespaces".

It is useful to have a top-down view on an XML structure but it's especially convenient to extract text values from tags. One can get, for example, a base64-encoded image - just walk down the VFS to the tag's directory and copy its text file to a real file.

The VFS was inspired by a FUSE xmlfs:

Copyright (C) 2013-2015 PhiloSoft Design

License: GPL

This is the page It was generated on Thu, 07 Sep 2017 20:05:52 GMT from CheetahTemplate xml.tmpl. Some rights are reserved. Read more about technical aspects of the site.