Home News Articles Account People Groups Projects URLs Metrics

Mission statement

XMLvL is an XML-based Scripting Language. The XMLvL site is here for the promotion, development, use and the discussion of XMLvL.

XMLvL is implemented with a combination of xvl, and some Apache modules - mod_xvl, mod_auth_xvl and mod_access_xvl. These are equivalent to php (or php.exe on Windows) and to mod_php.

XMLvL is born from mod_virgule, a community forum engine. Most of mod_virgule is hard-coded c, making it difficult for ordinary users to adapt their site designs. XMLvL is becoming what Raph Levien, the designer of mod_virgule, outlined he wanted to see happen. This site is dedicated to taking Raph's vision and seeing how far it can go.

XMLvL is being expanded on demand and by necessity, rather than being designed from the ground up as a fully-functional, all-singing, all-dancing scripting language. If you need all-singing, all-dancing capabilities, then there are better scripting languages for your needs, and xvl, as a registered mime type, will happily coexist alongside them.

So, bearing all of this in mind, not least that if it wasn't possible, and it wasn't fun, this project would never have got as far as it has today, this is what we wish to achieve:

XMLvL is dedicated to being a jump-platform to other XML Technologies implemented in c, with, but not limited to, a view to helping those technologies into an Apache framework.

For example, XSLT (XML Schema Language / Transform) requires three sets of inputs in order to be useful: an input document, a template document, and optional user-parameters. HTTP only really takes one input: the HTTP page (with its headers and the request etc). Apache decodes the HTTP headers and the HTTP request, passes them using mod_xvl to xvl, thus allowing a developer to dynamically choose the template to use and even to put the HTTP GET and POST arguments in as the user-parameters to XSLT.

This could be used, say, to provide language-specific content, by selecting the XSLT input document to the XSLT Transform based on the client's browser language, and at the same time, to present the content to suit the client browser (Netscape, IE, Lynx, WAP) by selecting the appropriate XSLT template document. About the only other Web Development environment capable of providing this level of flexibility is Zope.

The XMLvL site is dedicated to its users and developers, to best provide what the users and developers need, whether that be Open Source or proprietary usage or development.

For example, the current need is to provide a General Community Forum Resource Engine, using XML to store the site and user database files. Given that xvl is such a tiny codebase, at only 15,000 lines, as the needs of the users and developers may change, so may the codebase rapidly adapt to fulfil those needs.

XMLvL is dedicated to promoting and using Trust Metrics for Content generation, management and Site Access Control.

The concept of Trust Metrics is effectively a formalised version of 'word of mouth' recommendations. People use recommendations from other people day-to-day, often trusting such recommendations over advertising, without a second thought. The use of Trust Metric Certification brings the means to use 'word of mouth' recommendations to the Internet.

XMLvL is dedicated to providing full database manipulation capabilities of and using XML documents.

The jury is still out on how this can best be achieved. The recent addition of XSLT support to xvl makes the current database capabilities of XMLvL look like a child's plaything, by comparison. Whilst it is fun to develop new toys, using - and backing - existing XML technologies is recognised as a valid option. However, XSLT is the only known option at the moment, and given that XSLT cannot be used stand-alone and has no way to be used with only one input (and still be called XSLT), XMLvL's database capabilities are here to stay until the issue is resolved.

Other options and standards under investigation are XPath, XQuery and XML-DB.