Semantic-action files associate the markup in a particular type of xml document with BrailleBlaster styles, methods (actions) and macros. Usually they are named by concatenating the name of the root element of the document flavor with the extension .sem They are not to be confused with liblouisutdml semantic-action files. The latter are concerned with rendering an xml document into Braille and tactile graphics. BrailleBlaster semantic-action files are concerned with displaying the contents of a document on the screen and with editing them. They are stored in the semantics directory in the programData directory. There is a dialogue for creating and editing them. the key part of a line in a semantic-action file is a reference to markup in the document. This may be literal markup or an XPath expression. There are a few exceptions, which will be discussed later. The value part contains the name of a style or action, or of a macro, which can combine several styles and actions. it may also contain parameters. Literal keys may have one of the following forms: an element name; an element name, a comma, and an attribute name; an element name, a comma, an attributename, an attribute value. XPath keys begin with the characters &x with the XPath expression imediately followint and enclosed in parentheses. The key may also be the word newEntries. If the value is yes markup which has not yet been associated with anything is recorded and placed in a prototype semantic-action file. The key may also be the word file, followed by a colon followed by a filename. In this case the value is the word include, and the line specifies that another semantic file should be read at this point. Values start with one of the words action macro style. This is followed by a space. If action is specified, the action is one of those below. If style is specified a style name follows. The extension .properties is added to it and it is looked up in the styles directory. Likewise, macros are looked up in the macro directory. All three may have parameters enclosed in parentheses. The following actions may be specified. no, Do nothing except insert a space. skip, Skip the subtree of which this markup is the root. generic, Apply the parameters. cdata, Special processing for CData sections. htmllink, Insert a link htmltarget, to this target. configfile, Specify a configuration file. configstring, Specify a configuration string. configtweak, Use new configurations while rendering. # reserved styles. These styles are predefined, but may be altered document, Assign to the node that actually contains the content, such as the book node in dtbook. para, A paragraph. heading1,various levels of headings heading2, heading3, heading4, heading5, heading6, heading7, heading8, heading9, heading10, contentsheader, The heading of the table of contents. contents1, Various levels within the contents. contents2, contents3, contents4, contents5, contents6, contents7, contents8, contents9, contents10, # General text attrtotext, Transform an attribute value to text. runninghead, Specify a running header. footer, Specify a page footer. boxline, Specify a line of identical characters. italicx, Italicise the text within the markup. boldx, Bold it. underlinex, Underline it. linespacing, Number of blank lines between lines of characters. blankline, Leave a blank line. softreturn, Start a new line, but not a new style. newpage, Start a new page. music, Display/edit the music notation in this subtree. math, Display/edit the MathML notation in this subtree. chemistry, Display/edit the chemistry notation in this subtree. graphic, Display/edit the graphic pointed to by the markup. -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities