Skip Navigation





Open Source


Sign up

If you sign up for an account on this web site you can customise elements of this site and subscribe to an email newsletter.

If you have an account on this web site you may login.

If you have an account on this site but have forgotten your user name and / or your password then you can request an account reminder email.

Open Source

At MKDoc Ltd we have decided to deconstruct our existing proprietary software into a collection of independent, well-documented and well-tested open source CPAN modules.

Ultimately we want MKDoc code to be a coherent collection of module distributions, yet each distribution should be usable and useful in itself. We are open to suggestions and contributions for this effort.

Unless the module has grown to require it's own mailing-list (such as the Petal module), all discussion of these modules takes place on the MKDoc-Modules email list.

MKDoc was GPL'ed in September 2004 and the more modular version, and the modules are available via CVS.

The Petal templating framework

Petal is the Perl Template Attribute Language that MKDoc uses for it's templating system. There is a seperate website for Petal on CPAN.

Petal is the Perl toolkit for working with the Tagged Attribute Language (TAL) XML templating specification.

Petal is developed via an open email list:

MKDoc::XML toolkit

MKDoc::XML is a low level XML library that provides a number of useful tools for working with XML (eXtensible Markup Language) data. These tools are written entirely in Perl and depend on no external libraries, they are downloadable from MKDoc::XML on CPAN. MKDoc::XML itself consists of a number of smaller modules:

  • MKDoc::XML::Tokenizer splits your XML / XHTML files into a list of MKDoc::XML::Token objects using a single regex.

  • MKDoc::XML::TreeBuilder sits on top of MKDoc::XML::Tokenizer and builds parsed trees out of your XML / XHTML data.

  • MKDoc::XML::Stripper objects removes unwanted markup from your XML / HTML data. Useful to remove all those nasty presentational tags or ‘style’ attributes from your XHTML data for example.

  • MKDoc::XML::Tagger module matches expressions in XML / XHTML documents and tag them appropriately. For example, you could automatically hyperlink certain glossary words or add <abbr> tags based on a dictionary of abbreviations and acronyms.

  • MKDoc::XML::Decode is a pluggable, configurable entity expander module which currently supports html entities, numerical entities and basic xml entities.

  • MKDoc::XML::Encode does the exact reverse operation as MKDoc::XML::Decode.

  • MKDoc::XML::Dumper serializes arbitrarily complex perl structures into XML strings. It is also able of doing the reverse operation, i.e. deserializing an XML string into a perl structure.

Petal::Mail email construction system

Petal::Mail is a system for templating the headers and content of email messages. The templates are in the form of Tagged Attribute Language (TAL) XML and the output is in the form of text/plain format-flowed rfc822 Email. This is downloadable from Petal::Mail on CPAN.

MKDoc::Control_List decider

Access Control List is a security model which allows much finer control of resources than other traditional permission systems such as Unix.

MKDoc::Control_List is a generalization of the concept of Access Control Lists. Using this module, you can define represent arbitrarily complex rules in a configuration file in a manageable way.

MKDoc::Control_List has the following uses in MKDoc:

  • Access Control (Authorization)
  • Caching Policy

MKDoc::Apache_Cache – Speedup Apache::Registry scripts

MKDoc::Apache_Cache is a drop in replacement for Apache::Registry. It is very configurable so that you can define precisely what you want to cache, under which circumstances and for how long.

MKDoc::Apache_Cache is an ideal solution if you have an Apache::Registry script which produces near-static pages and has a few annoying bottlenecks which could do with some caching.

<< | Up | >>

This document was last modified by Chris Croome on 2004-09-25 20:58:35
MKDoc Ltd., 31 Psalter Lane, Sheffield, S11 8YL, UK.
Copyright © 2001-2005 MKDoc Ltd.