Home   Info   DevZone   Wiki  
UsersWeb  |  MainWeb  |  InfoWeb  |  DevZoneWeb  |  SupportWeb
XMLPrototypes ] [ not logged in ] [ Web: Imported ] goto:  options
[ get info on or edit ] login or new user ] [ list of topics, hubs & nodes, or recent changes ]

An XML/XSL File System

A Brief Explanation of XML and XSL

XML is a markup language like HTML that allows a designer to create special tags that describe the structure of a document. A designer can add his own markup tags to the XML markup format by using something called a DTD (Document Type Definition).

XSL is a style language like Cascading Style Sheets that allows a designer to describe the style of a document.

For more information on XML see http://www.w3.org/xml/ and for more information on XML/XSL see http://www.microsoft.com/xml and http://www.microsoft.com/xml/xsl

Tools

A program that generates HTML pages by combining XML and XSL files can be found at http://www.microsoft.com/xml/xsl.

File System, version 0.1 Alpha, 1-21-98, BradNeuberg

Here are the raw rudiments of a file system based on XML/XSL.

First, there is a DTD file that describes the special markup tags that this XML application will use - http://www.columbia.edu/~bkn3/prototype/xml/Directory.dtd

Next, there is an XML file that describes the structure of an example directory called the Home Directory - http://www.columbia.edu/~bkn3/prototype/xml/home_directory.xml

Next is an XSL style sheet describing how to transform an XML file using Directory tags into an appropriate styled HTML page - http://www.columbia edu/~bkn3/prototype/xml/Directory2.xsl

Finally, there is the HTML file that is produced from the XML and XSL file - http://www.columbia.edu/~bkn3/prototype/xml/view2.html. This file was made using Microsoft's XSL parser.

The nice thing about this setup is that if you wanted to visually represent the file system you would only have to change the XSL file.

Everyone is invited to play with and mutate these files. Some ideas for people to work on:

*It would be nice to have an XSL parser written in Java
*The home_directory.xml file could be loaded into a Java applet which would display the files as icons sitting on a desktop; it would be even nicer if someone were to come up with a nifty way to use an XSL style sheet that did this (and let people move the icons around!). This could be done by putting Javascript/Jscript into the Directory.xsl file, or by putting XML links to Java classes into the XSL file (or maybe some clever person will come up with an even more original way to do it!)


XML File Finder, version 0.2 Alpha, 1-26-98, BradNeuberg

I have put together an prototype XML File Finder. It works as follows (consider the little underscores to be like brackets; I can't seem to figure out how to illustrate XML tags without the tags being mistaken for HTML!) A computer's file system is stored in an XML file called directory.xml. Here is an example piece of directory.xml:

_FILE name="Home Directory"_
	_FILE name="Java Applications"_ _/FILE_
		_FILE name="Games"_ _/FILE_
		_FILE name="Dirty Pictures"_ _/FILE_
_/FILE_
An appletcation named XMLFileFinder.java opens a window with a text box where you can type in directory names, like "Home Directory" or "Games"; when you type in a directory, the XML file is queried and the contents of that directory is returned to the appletcation window.

The prototype is in a zip file here. Run it by unzipping the directory where-ever you keep your APIS. Run it by typing:

java XMLFileFinder

Things to be done:
*Iconize directory presentation *Allow files to be added and deleted *Tie the files to the real underlying operating system by using eXtended Linking Language *Abstract the Model from the Presentation *Come up with a better recursive algorithm for findDirectory()

Feel free to dive into the code if you want to do these things, or if you have a cool idea you want to play around with. Good luck!


Brad, Can you explain how the XML-based file system would fit into any of the proposed OO file systems for JOS? I'm confused as to how the XML represents a file system, since I guess I always considered a file system more "low level" than just a basic description of how to display it.

But it's interesting so far... :) --MasonZhwiti


Yeah. An even more interesting question for me is, which problems are addressed by an XML FileSystem and how XML solves them. Furthermore I'm really really interested how you imagine the way your XML Filesystem interfaces with the hardware and how compatibility with Java standard I/O Classes is preserved...

MarkusPeter




Content of these pages are owned and copyrighted by the poster.
Hosted by: