Title: AbstractXHTMLDocument
Description: This class wraps the necessary functionality around the "logic"
that is implemented in the DimDom engine, reference implementation.
Builds a hashtable containing ID/XHTML element pairs to find the nodes
more easily when modifying them during the following update process with
the dynamic values.
Title: CommandParser
Description: This class contains the methods that are able to parse DimDom
commands.
These methods are centralized herein to easily find them again in case of
changes or extensions of the DimDom specification.
Title: DimDomNode
Description: This interface collects the supported operations of the DimDom
engine that the programmer of the dynamic content is able to use.
Title: ErrorSiteProcessor
Description: This class generates the error output site, in case an error
came up somewhere and needs to be shown to the user.
Returns the next implementing object of the DimDomNode interface, to
allow the DimDom engine to process the next node (or the next clone of a
micro-template node).
Returns the next implementing object of the DimDomNode interface, to
allow the DimDom engine to process the next node (or the next
clone of a micro-template node).
Parses the command string and returns the number of repetitions to be
done / that are allowed at most.
This method is defined statically to be callable from not instantiating
classes too and to increase the performance of this very simple task.
In case the parsing fails, a DimDomException is thrown.
Returns the list of RepeatedElement instances that were initialized for
the given node or null, if no such nodes exist for the given node in the
template.
Returns the underlying, to-be-repeated node of the document that this
class was created for (may be either the original or the cloned
Document object!).
Hides the Element parameter by replacing it with another node.
If the element is a "tr" element, then the children of type "th" or "td"
are searched and their content is hided, and its height attribute is
removed.
the list of already processed id nodes, to find out whether it's a
repeated command on the same node or not, stored together with the number
of repetitions; this number is altered on each repetition of the node
Returns whether this is a common attribute, which is set to each node
of the same type as the node having the node identifier of the parent
class, or not.
Parses the input stream and returns a Document object containing the DOM
of the stream.
The parsing itself is done with the validating Xerces XHTML parser.
Parses the input string and returns a Document object containing the DOM
of the content.
The parsing itself is done with the validating Xerces XHTML parser.
Forces the XHTMLDocument instance to print out its dynamically adapted
content as a fully qualified XHTML String.
This is done after the cloning of the internal Document pointer and the
calling of the processDynamicData method, which updates the DOM.
Forces the HTMLDocument to print out its dynamically adapted content as a
String.
The exception that may be thrown is one of the processing of the dynamic
data or of the HTMLFormatter.
Builds the error site output and calls the print method of the DimDom
class to get the fully formatted, dynamically filled XHTML string.
If somehow this class itself runs into troubles, it wraps them into an
IOException.
Does everything that is necessary to be done to form a dynamically
updated XHTML output out of the values defined in SiteData.
Therefore, the internal list of preloaded sites is checked against the
String received from the XHTMLSiteData's getIdentifier method.
The constructor builds a simple list of DimDom commands which are to be
processed using the XHTML input string from the Website Tester's text
area input.
The method first calls the superclass' constructor using the empty string.
This method is (typically) called by the servlet instantiating a specific
subclass of this class that needs to be filled with dynamic data.
It is defined within a separate interface to hide the functionality of
implementing classes to the servlet programmer, because the updating
process is uni-directional (thread safety!).
This method is (typically) called by the servlet instantiating a specific
subclass of this class that needs to be filled with dynamic data.
It is defined within a separate interface to hide the functionality of
implementing classes to the servlet programmer, because the updating
process is uni-directional (thread safety!).
Title: SimpleDocument
Description: This class implements the "simple" logic of the DimDom,
extending the very "base" logic from AbstractHTMLDocument, which means that
it implements the abstract method getNextRepeatedElement method defined in
the superclass.
Title: SimpleSiteData
Description: This simple implementation of AbstractXHTMLSiteData provides two
constructors, one for each of the two parameters of those at least one must
be defined.
Constructor parses a file source, if the given String doesn't contain "
", else the given String is assumed to be an XHTML string and is
parsed itself (note: maximum lenght of java.lang.String is the
limitation!).
Title: SiteTester
Description: This class allows both a designer and a programmer to test
whether a html file describing a web site is acceptable for the DOM parser
and the needs of DimDom.
It reads the command line parameters and parses the specified file
accordingly, printing out either the result output after a successful parsing
or the stack trace of the exception that was thrown during the processing.