ActiveXSL
UltraXML ActiveXSL is different to other XSL solutions in that it is the only
active and real time version of XSL available.
ActiveXSL means
that XSL scripts are performed on the fly while editing in real time.
There is no longer a need to apply an XSL script to XML and wait for the
results to be rendered. ActiveXSL allows users to create, edit and see the
results of XSL immediately in real time as the edits take place.
There is also
no need to understand XSL syntax; UltraXML creates XSL scripts automatically in the background. Users
may use the XML tree or the XSL visual editor in order to create
selective, conditional and hierarchal XSL template matches, loops and
switches. The XSL code produced conforms to the Word Wide Consortiums
official XSLT definition and may be exported and used in other products
supporting XSL.
Importing XSL
XSL streams are
imported as a single XSL text stream into UltraXML. On importing an
XSL document it can be activated. Any number of XSL streams may exist in
UltraXML but only one XSL stream per document may be active at any
given time.
Importing XML documents with links to XSL will automatically import the
XSL stream and activate it.
Activating an XSL stream
On activating
an XSL stream, the stream is burst into pieces; each piece is analysed,
modified and put into the correct PP style definitions as native XSL code
snippets. Any previous style definitions are deleted. More than one XSL
section may be inserted into the same style definition. In other words a
PP style may have more than one template match to act upon.
Since XSL is
a very large and complex high level scripting language, the most useful
subset of the XSL commands are implemented initially to ActiveXSL.
The remaining and less often-used XSL commands will be gradually phased
into the supported XSL grammar over time.
Exporting XSL and XML
On exporting an
XML stream the active XSL stream is built up from the component style
definitions that have been created and exported as a single XSL file,
which is linked from the XML.
XSL Processing and formatting
For every
style, XSL code inside that style is analysed, parsed and compiled into a
set of instructions which are then used during the UltraXML formatting process. In fact, working just like an interpreted language
such as VBScript or Java Script.
The complete
hierarchies for the XML streams are kept in memory, by use of an extremely
fast, simplified, non-validating version of the XML parser.
(This hand written XML parser will be used in place of the parser
used to currently build the XML tree, thereby removing the need for the
update XML button).
When the
UltraXML formatter comes across XML tags, their XSL style
definitions are parsed and compiled into a set of instructions. If a
hierarchy match is found in the XML from these instructions, then the
remaining XSL script is executed and the text is output using the embedded
UltraXML PIs inside the <xsl:template>. If no match is found
then the text is bypassed until the appropriate close XML style is found.
|