XVisualParser
Following are the components of XVisualParser
1) GUI abstractor
2) XSLT Processor
3) Rule Engine
4) X Parser
5) Event Handler
6) Data Modeler
1) GUI Abstractor
This component will model the GUI related entities and attributes. This component is tightly coupled with Event Handler which
will handle all the events of the GUI component.
2) XSLT Processor
This component will process is tightly coupled with rule engine and X parser. All rules added by user in GUI will be processed
by rule engine and will create different rules. These rules are nothing but XPATH elements and XSLT processor will extract
all rules and store them into temporary data base(may be data structure) which is taken care by Data Modeler component. So
converting user rules into XPATH based rules will be done by XSLT processor. Currently we will be using Xalan open source
api for xslt processing.
3) XParser
X parser is the main component of this tool. This component will used SAX parser. In order to get rid of DOM model, this component
will use SAX parser and store the result in Database ( or Data structure) which will be taken care by Data Modeler. Currently
we will be using SAX parser and later we can create our own API which will be more light weight and Rule Engine component
and X Parser will be developed into one component.
4) Rule Engine
Rule engine is nothing but XPATH rules. We will be using glue over xalan xpath for creating rules which will be based on light
weight xpath components. So rules entered by user will be converted into rules which is represented by Rule Engine.
5) Event Handler
Event handle is handling all events. This is tightly coupled with GUI abstractor component. All events emanating from GUI
abstractor will be handled by Event Handler and using Rule engine all user defined rules will be converted into xpath rules
and stored into database.
6) Data Modeler
Data modeler will take all data handling mechanism. Right now I am not sure whther we will be using any RDBMS like MySQL or
Apache Xindice.
Abstract Process flow
Process Flow:
This is based on “on demand” parsing. If your document is of size 1 GB and you need only 5 mb of the document
which will be 100 first top level elements then you can call appropriate method and this method will return xDom which represents
5 Mb data of your 1GB document. So in this case you can get data based upon your memory size or number of elements you need
from your main document.
|