[brailleblaster] xml processing block diagram

  • From: "John J. Boyer" <john.boyer@xxxxxxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Wed, 3 Oct 2012 20:29:22 -0500

Here is how I see an xml file being processed according to the revised 
framework. This should be considered a block diagram.

First, some remarks on the files that will be used. I am assuming that 
they will be Java properties files, because the information is key-value 
pairs. I do not see any advantage to using something more complicated. 
Human readability and writeability is important for developers, because 
we will have to write some of them and we will have to check that the 
GUI dialogues are operating properly. Creating and changing properties 
files with these dialogues will also be much simpler than with xml.

Immediately upon opening an xml document is parsed by xom to produce a 
parse tree.

The configuration files indicated in the user's settings are then read 
and used to begin the construction of a semantic table. This table is 
used to specify how markup in the document is to be rendered on the 
screen and how styles are to be associated with markup for editing.

Semantic-action files are then read. A file is chosen by looking for a 
file with the name of the root element and the extension .sem or 
according to an indication in the configuration files.

If the semantic-action files contain XPath expressions as keys these are 
applied to the parse tree, and the selected nodes are modified by adding 
an attribute indicating the entry in the semantic table to be used. The 
value of each key will already have been entered into this table.

The keys containing markup in the semantic files are then applied to the 
parse tree, and a similar attribute is added to the matching nodes, 
unnless it is already present because it has been added by an XPath 
expression.

This forms the DOM of the document.

This DOM is then used to display the document on the screen. 

Editing can then take place. If the contents of a text node are altered 
the new contents replace the old. If an element node is deleted its 
entire subtree is deleted. If a new block of characters is created the 
user is prompted to asign it a style and a node with the appropriate 
markup is added to the document at the place where the new block was 
created.

The file will already have been rendered by liblouisutdml and the 
Braille displayed in the Braille window. If the user is authorized to 
edit Braille, any editing is highlighted in both the Braille and print 
windows.

When the file is saved the parse tree is massaged to move any 
edited Braille into the print document with proper markup, to 
remove all UTDML and to remove the attribute which is used for 
the DOM> Editing in the print window is handled 
automatically as part of the conversion of the parse tree to a file. 

-- 
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities


Other related posts: