* * * * * * * * * * * * * * * * * * * * * The Bar and Bracket Markup Language * * * * * * * * * * * * * * * * * * * * * This document specifies version 1.1 of the BBML protocol. Contents: 1. Introduction 2. Structure 3. Tags 3.1 Comments 3.2 The BBML Tag 1. Introduction The Bar and Bracket Markup Language (BBML) is a markup language aimed for creating organized files of data. Originally intended to make documents easier to create, BBML has become more strict and more for organizing data rather than creating documents. 2. Structure Tags in BBML are marked with square brackets ([ and ]), and parameters are set off with a bar or pipe (|). The tag name is the first word (no spaces) inside a tag before a bar. If there is a space where the tag name goes, then the tag is considered invalid, resulting in an error. [tag_name|param=value] [/ tag name is 'tag_name'] [tag name|param=value] [/ illegal] [tag_name] [/ tag name is 'tag_name'] [tag name] [/ illegal] 3. Tags You may use any tags you wish, because it depends on the interpreting side to display it. If the interpreting end does not know how to interpret tag, it will simply ignore it. All tags follow the same format. There are no closing tags, as all content is stored as a parameter inside the tag. The tag name is not allowed to contain a space, although parameters and values are, and of course bars, brackets, and the equals sign are all illegal characters. In order to store a bar, bracket, or equal sign character, you must use special escape codes. %b is used for a bar, %l is used for a left bracket, %r is used for a right bracket, and %e is used for an equals sign. In order to use a literal percent sign, you write two of them. Escaped characters don't apply to tag names. Parenthesis indicate optional syntax: [tag_name(|param=value|param=value|...)] You can place as many tags on a line as you wish. 3.1 Comments Comments may be placed in BBML documents with the / tag: [/everything here is ignored by the interpreter] 3.2 The BBML Tag You should always place the following tag at the beginning of each BBML document: [bbml]