The behavior of Transmopher is now (12/12/2001) based on a many step process:
Intermediate processes can be made there:
- The transmorpher package provide also a set of basic classes
:
+ Connector : this class allow
to translate a set of xml flow to one xml flow
+ Generator
: this class allow to produce a XML flow
+ Dispatcher : this class allow to translate
one XML flow into several XML Flow
+ Serializer : this class allow
to write XML flow to file
+ Ruleset : This class use the ruleset
define in the process file and apply it to the XML flow
+ External Transformer : This class
apply a transformation defined in a XSL file at a XML flow
+ Loop : This Class provide two functionnality
- a finite loop : for example, a process is apply X times.
- a conditionnal loop : a process is apply until a property is true.
+ Query : This class allow the author
to apply querry on the XML flow (select one element, a set of element )
Implementation notes :
The querry class does not inherite from the TProcessBasic class,
because, as this class is also a parser, it's simply to inheite from XMLReader,
and implements the TProcess interface.
Comportment of basic element :
Basic connector 1..n -> 1:
include all xml flow of the 2..n XML flow inside
the root element of the first XML Flow
Basic Generator 0 -> 1 :
read a XML file and produce an XML data flow
Basic dispatcher 1 -> n
copy the input XML flow to the differents output
Basic Serialiser 1 -> 0
Write the XML flow inside a file currently the file format
support is HTML / XML / PlainText
RuleSet 1 -> 1 :
Apply the rule set to an XML File, so it takes a
XML flow in input and produce an XML flow in output
Xalan Transformer : 1 -> 1
Apply the XSL file to the XML FLow
Saxon Transformer : 1-> 1
Not yet implemented :-)
BasicQuerry 1 -> 1 :
Apply the querry to the XML flow, and ouput the result
of the querry
LoopElement n->n :
Apply a process X times or until a property is true.
A process provide a set of functions, these functions are :
TProcess Copy(TProcessComposite vFather)
A TGenerator provide a f function :
void execProcess() ;
// this fonction is call after the parsing of the process
file. The call of this function imply the creation of an XML flow,
and the generator provide sax event in this output channel.