Package eu.bandm.tools.d2d2.base
package eu.bandm.tools.d2d2.base
D2d allows to write valid XML documents directly in the creative flow of authoring,
with minimum typographic noise.
This is the main package of the d2d version 2.0 implementation,
as described in the
dedicated user documentation.
Its prerequisites are the packages
../infra, which contains
hand coded low level auxiliary routines, and the packages ../parser,
../absy,
../model and
../rt, which contain
sources generated from one xantlr grammar file and two umod model definition files.
../postproc contains some standard post processing code, activated by explicit reflection.
The service provider class is Main
,
which implements the command line interface.
The entry class for programmatic usage is Tasks
.
See there for more documentation about the use cases.
A further service provider class is Batch
for more efficient processing of more than one input file and output format.
Approximately, the calling graphs are
Main.main() +-------------------------------+--+--+-----+ | Batch.main() | | | | V | | V | V | Tasks.text2texts() Def2Doc V Def2Dtd| | | | | / | Def2Xslt | | | V V Callgraph | | | | | | Udom2Sax DocTexts | | | | V V SyntaxGraph | | / | Text2Udom.fromFile() | / | | | | | V | |/ | | | | V PostProcessor | | | | | CharacterParser.parse() | | | | V V V | | | | MemScanner StackPrinter | | | | V | | | | MemString /| | | V / | | | rt.ResultingStructure / | | V V | | ModuleReg.loadInstantiated() | | | | | V V | | | V ModuleReg.loadUnInstantiated() / | V Dtd2Def <------ | ---------------------/ V UMod2Def | Resolver,Navigate V (,TypeCheck) Reducer V ../absy V ../parser
-
ClassDescriptionBatch processing of d2d sources into different back-ends, using BandMs' own "txsl" implementation of xslt 1_0.Generated source for command line processing.This enum type indicates: Switch on/off different trace outputs individually.Generated source of a graphical user interface (GUI) for command line processing.Batch processing of d2d sources into different back-ends, using BandMs' own "txsl" implementation of xslt 1_0.Represents one transformation job, with all its parameters, to be applied to multiple d2d source file inputs.Realizes the fine granular d2d character level parsing.A simple wrapper for one (of the many parallel) parsing situations; wraps
MemScanner
as the next input situation andResultingStructure
s as collected so far.Collects all parser particles from character parsers and joins them to a content model which is DTD compatible.Represents a RegExp as a collection of segments: g=non-recursive termation case, p=prefix before the first recursive call, s=suffix after the last recursive call, i=inbetween two recursive calls.Utility class holding ubiquituously used constants.Implements the translation of a d2d definition module (imported from .ddf/.umod/.dtd/ad lib) into a Dtd object.Collects XSLT rules (and the necessary namespace declarations) in d2d format from a set of resolved modules, for one particular transformation target key.A source file which only adds comments to existing modules.Multi-lingual translations catalog, generated from XML source.Simple dtd to d2d2 module converter, returns an instantiated Module or null in case of error.Sets up constants in eachExpression
, which cache structural properties of the syntax for later parsing.D2d comand line tool, by static methodMain.main(java.lang.String[])
.MemScanner<D>Basic scanner for d2d text recognition, working on and returningMemString
objects.Categories of the character data immediately follwoing an open tag.Non-overlapping Categories of the recognized tokens.Resolves module names toModule
objects.Auxiliary static methods for model navigation and inquiry.Worker for updating the local attribute cache.Expand all character set expressions from the d2d definition language to an extensional representation asCharSet
.Replaces hard every referring identifier which is local to some declared object by the normalized identifier, as valid on module level.Visits all definitions and their defined expressions which are reachable from given start points.Generated source for command line processing.This enum type indicates: Select very different operation modes of this tool.Generated source of a graphical user interface (GUI) for command line processing.The class from which all post processing classes must be derived.Reduces a d2d definition text file ("ddf") given as a tdomDocument_module
into an umodModule
and its sub-structures (= contained sub-modules and definitions).Prints the current stack state to a terminal, highlighting current position and possible continuations, for error diagnosis in interactive use cases.Simply prints expressions, inserting parentheses by priority.Single-use tool to find all sub-expressions of the current content model which are allowed to enter as next input in the current parsing situation.Calculates and paints an extended regex as graphic.Intended to be overwritten in anonymous subclasses.Maps exprssion objects to graphic araes.An instance of this must be plugged into aSyntaxGraph.Painter
for customized representation of references.Represents the result of a layout sub-process as a TeX-like box model with three length values.Collection of static methods which realize the different d2d conversion tasks.Parse a d2d text input into xml nodes.Configuration object for the different ways of reacting to input errors.Kind of the text to parse.Realizes the parsing state on lower=character level.Parser for the header of a d2d text input file.Multi-lingual translations catalog, generated from XML source.ATTENTION: Typecheck itself NOT YET used, BUT collectAttributes.Generates SAX events in name-space mode.Adapter to use bandm xpath (and thus txsl) with internal d2d udom objects.Generate a d2d definition module from a umod model definition.Common superclass for user documentation, instantiated or uninstantiated.Create Xhtml documentation of aResolvedModule
, as produced byResolver4
Create Xhtml documentation of an unresolved "raw"Module
.Instantiates the generic d2d xslt module definition for some particular target doctype.