If you like this site, I would appreciate a gift from my wishlist.

The XML-Grammar Meta-Project

The XML-Grammar project aims to define several XML grammars for specialised tasks, with schemas, converters and processors. We use the Web-CPAN meta-project for version control and other services. Our preferences are to write the code in Perl, XSL Transformations (XSLT), and RELAX NG for the schema.

We try to write XML-Grammar in a test-driven-development (TDD) fashion, where we write tests before implementing new features or fixing bugs.

Sometimes, we define simpler and less verbose text-based markup languages that are in turn converted to the XML.

List of Modules

  1. XML-GrammarBase - base classes and roles/traits, for processing XML grammars.
  2. XML-CompareML - an XML grammar for managing multi-system and multi-item comparisons. (Not in the XML-Grammar namespace for historical reasons.)
  3. XML-Grammar-Fiction - for authoring prose (such as stories, novellas or novels). Includes a convenient well-formed text format.
    • XML-Grammar-Screenplay - for writing screenplays and other scripts (for plays, T.V. shows, etc.). Includes a convenient proto-text format.
  4. XML-Grammar-Fortune - allows one to collect quotes (or Unix-like fortune cookies) using an XML grammar, with a lot of rich meta-data, and to produce XHTML and plain-text from them.
  5. XML-Grammar-ProductsSyndication - an XML grammar for creating lists of products. See my recommendations page for examples.