Release Version Dated 24th February 2005
Updated Technical description of component files and section on
providing support for unknown symbols.
These are files which communicate with the various hardware, software and windows components required for the software to work. These contain interfaces automatically generated by the core to the content models outlined in the source code. These allow the variables to be accessed by the XML structure which control the various functionalities of the software.
The basic process, is to compare the MathML input with the W3C definition of MathML. The discrepancies, are then handled by an XSLT file(MathTypeOutputAdapter.xslt) which creates virtual entities. Entities are then removed, and added until the input meets the W3c requirements.
This provides the templates for specific client dictionaries. Dutch is currently integrated with the interface, but the system is designed in such a way that several different sets of protocols are available. These change of protocols are extremely detailed. This Folder works with the Generic XML Database(XMLDB folder - see below), to form an extremely adaptable preference system to the output.
This is where the output is saved to and also where several files governing the different stages of the output are stored.(See below)
This is the core of the adaptability for the system. Almost any change in preferences can be made using these XML files. There is a large volume of code, but the files are set out in such away that adaptations and additional protoolcs should be easily integrated with what is currently there.
Appendix A - .Software tree structure
The folder " Math2Braille" is the root of the software structure, here you will find:
The application Launcher "FirstStepGUI.exe"
five folders.(ClientXmlDB, MathTypeAdapterXmlDB, Output, XmlDB, XmlDB-old)The information on these is detailed below.
10 DLL's(Dynamic Link Libraries). These control the communication with windows core and other external software systems. These cannot be altered without altering and recompiling the source code. Updates of these come only from the FNB IP department.
6 Program Debug Databases - Used in the debug process
TestExFull-5-3.txt - lists the test examples
" DebugControlInfo.xml” this provides the default values for the Debug control.
Input.xml - Provides default input in the form of a MathML file.
Lightxmldocbuilder.xml
Page_set.xml
Step1.xml
Xml_log.xml - contains the step names for mathml processing and their associated warnings
12 XML files. These provide input filters for the original mathml input, and the mathml input after each of the processing stages. These change as MathML is processed. Specifically
OpDictSchema.xsd - Schema for the operator dictionary
[ top ]
In the folder "ClientXMLDB" you will find information additional to the
information in XMLDB(See below) which is client specific:
Dictionaries
BinBraille2BTF.xml - Provides definitions for each Braille combinations.
BTF2Dutch.xml - Provides definitions for the Dutch dictionary.
BTF2HTML.xml - Provides definitions for the HTML dictionary.
BTF2NA.xml - Provides definitions for the North American dictionary. BTF2LocalDescriptor.xml - Provides readable names for each of the BTF dictionaries
Transformations
BinBraille2NativeEncodingConverter.xslt - Matches the Braille elements to the Braille document model.
PreviewMaker.xslt - Provides formatting information for the Math2Braille output in the GUI.
report_creator.xslt - Provides progress information for each stage of the transformation.
The folder " MathTypeAdapterXMLDB” ensures that input from MathType is formatted correctly for the software. Here you will find:
Folder " ISO 8879” - ISO(International Standards Organisation) Entity Set for mathematical symbols. Read only!
Folder " ISO9573-13” - ISO(International Standards Organisation) Entity Set for MathML entities. Read only!
Folder " MathML” - External entities from W3C(World wide web consortium) Read only!
MathEntities DTD - Defines the entities used in terms of International Standards
MathTypeOutputAdapter.xslt - Controls the filtering of the MathType to ensure that the MathML2Braille converter receives suitable standardized input.
MathTypeOutputAdapter0.xslt - Matches the input template with what is provided from MathType
OperatorDictionary.xml - Provides a definition and description for use for each operator available to the system.
The folder " Output” deals with the output of the software. The output ascii is stored in here, as is the HTML which controls the output window. In this folder you will find all the files created when a Braille conversion is made, or when a Transformation is saved. This includes ascii text and also HTML files which define how the file is viewed in the window of the GUI.
The folder " XMLDB” provides the software with the definitions of generic protocols and of the FNB protocols. These XML files allow almost any adaptation to be made to the output.. Here you will find:
Dictionaries
Common
Encoding
Folder " ISO 8879” - ISO(International Standards Organisation) Entity Set for mathematical symbols. Read only!
Folder " ISO9573-13” - ISO(International Standards Organisation) Entity Set for MathML entities. Read only!
Folder " MathML” - External entities from W3C(World wide web consortium) Read only!
OperatorDictionary.xml - Provides a definition and description for use for each operator available to the system.
MathEntities DTD - Defines the entities used in terms of International Standards
Characternames.xml - Defintions of each letter symbol.
MathCharacters.xsd - The generated schema for the above for use within maths.
MathCodeDictionary.xml - Dictionary of operators and math signs.
MathCodeDictionary.xsd - Schema for MathCodeDictionary.xml
MathCodeDictionary_my.xml - Specialisation of the above.
Validation
Dtd - Empty
XSD
Common
CVS - Controls the attributes for the update by CVS(Concurrent Versions System)
common-attribs.xsd - Common attributes module for MathML
math.xsd - Defines the Math element of MathML
xlink-href.xsd - Defines the href element for use in Xlink definitions in XML files
Content
CVS - Controls the attributes for the update by CVS(Concurrent Versions System)
Arith.xsd - Content MathML core schema
Calculus.xsd- Content MathML core schema
Common-attrib.xsd- Content MathML core schema
Constants.xsd- Content MathML core schema
Constructs.xsd- Content MathML core schema
Elementary-functions.xsd- Content MathML core schema
Functions.xsd- Content MathML core schema
Linear-algebra.xsd- Content MathML core schema
Logic.xsd- Content MathML core schema Relations.xsd- Content MathML core schema
Semantics.xsd- Content MathML core schema
Sets.xsd- Content MathML core schema
Statistics.xsd- Content MathML core schema
Tokens.xsd- Content MathML core schema
Vector-calculus.xsd- Content MathML core schema
CVS - CVS - Controls the attributes for the update by CVS(Concurrent Versions System)
Presentation
CVS - CVS - Controls the attributes for the update by CVS(Concurrent Versions System)
Action.xsd- Presentation MathML core schema
Characters.xsd- Presentation MathML core schema
Common-attribs.xsd - Presentation MathML core schema
Common-types.xsd- Presentation MathML core schema
Error.xsd- Presentation MathML core schema
Layout.xsd- Presentation MathML core schema
Scripts.xsd- Presentation MathML core schema
Space.xsd- Presentation MathML core schema
Style.xsd- Presentation MathML core schema
Table.xsd- Presentation MathML core schema
Tokens.xsd- Presentation MathML core schema
MathML2.xsd - W3c definition of what schema are needed for MathML
Cultures.xml - Provides system names for each country’s braille systems
nl-NL
Decoding
Alphabets.
Latin.xml - defines the latin alphabet in Braille codes
BrailleDict.xml - assigns Braille codes with system names
BrailleEntityTemplate.xml - Defines the FNB protocols for displaying the Braille
BrailleEntityTemlate_withoutreferencing.xml
Restucter.xml - Defines a simple table structure
Encoding
Typifier.xml - defines several structures to be used in output encoding.
Formatting - Three XML files(qualifiers, BreaksValuator, and blocksforexpression) which handle where to break the Braille structure for line breaks etc.
Transformations
BrLangDic
BinBraille2BTF.xml - Provides definitions for each Braille combinations.
BTF2Dutch.xml - Provides definitions for the Dutch dictionary.
BTF2LocalDescriptor.xml - Provides readable names for each of the
BTF2NA.xml - Provides readable names for each of the BTF dictionaries.
BinBraille2NativeEncodingConverter.xslt - Provides the XSLT formatting to encode the machine readable structure into Braille output
BinBraille2NativeEncodingConverter_old.xslt - legacy code
Decoder.xslt - Decodes the formatted input into the internal processing model.
Encoder.xslt - Encodes the information into the required protocols from the internal content model.
FormattingCmdInserter.xslt - Converts commands
FormattingCmdResolver.xslt - Creates and writes the commands
Restructer.xslt - Imposes a simple structure on the information for document formatting
Table1.xslt - Adds support for structuring tables
Table2.xslt - Adds support for structuring tables
Unknown.xslt - Adds support for Unknown symbol functionality.
XslFoStyledDocMaker.xslt - Creates an XSL-FO entry for the transformations used in the process.
The folder " XmlDB-old"
contains legacy code, as the current " XMLDB” folder is currently
under Debug.
FNB/IP/ver0.9