SCRAM Documents

SCRAM documents are similar in style to XML documents. As in XML, they have a number of document tags marked by <tag> and </tag>, which define their structure. Unlike XML documents, there is no DDL description, although documents still require to be typed and versioned with a <doc type=xx version=yyy> tag, which is similar to the XML <DOCTYPE>.

All scram configuration files are written as SCRAM documents keep documentation and functionality tightly coupled. The SCRAM parser lets you map any document tag to any object method. Thus, extending functionality is a matter of inventing a new tag for a given document.

Some SCRAM document classes are Internet aware. URL download and cacheing is easily handled by the system. Currently there are only two URL types available, although it is easy to plug in others as required. The URL types supported are the traditional file: and a special one for downloading from CVS servers, cvs:.

One document class has a preprocessing feature. This lets you inline any document that can be downloaded through the URL mechanism. This works just like C++, but instead of #include you have <Include url=...>, and instead of just inlining files you can inline any document at the end of a URL.

— C.W.

Back to Article