public class HtmlTableConfiguration extends Object
Specifies configuration options for HTML table comparison. These configuration options can be specified on a
ConcurrentMerge
, SequentialMerge
and ThreeWayMerge
to configure its behavior when comparing tables.
Constructor and Description |
---|
HtmlTableConfiguration()
Constructs a new
HtmlTableConfiguration instance. |
Modifier and Type | Method and Description |
---|---|
HtmlColumnKeyingMode |
getHtmlColumnKeyingMode()
Returns the
HtmlColumnKeyingMode currently in use when comparing HTML tables. |
InvalidTableBehaviour |
getInvalidTableBehaviour()
Returns the current behavior in use when inputs contain invalid HTML tables.
|
ValidationLevel |
getValidationLevel()
Returns the
ValidationLevel current in use when validating HTML tables. |
WarningReportMode |
getWarningReportMode()
Returns the
WarningReportMode in use when invalid HTML tables are encountered. |
boolean |
isIgnoreColumnOrder()
Determines whether ignoring CALS table column order is enabled.
|
boolean |
isNormalizeTable()
Determines whether HTML table column specification is normalized.
|
boolean |
isProcessTables()
Determines whether HTML table processing is enabled.
|
void |
setHtmlColumnKeyingMode(HtmlColumnKeyingMode mode)
Sets the
HtmlColumnKeyingMode to use when comparing HTML tables. |
void |
setIgnoreColumnOrder(boolean ignoreColumnOrder)
Sets whether the
DocumentComparator should ignore CALS table column order. |
void |
setInvalidTableBehaviour(InvalidTableBehaviour behaviour)
In order to ensure that only valid HTML tables are passed to our specialized HTML table processing, each input table is
marked either valid or invalid.
|
void |
setNormalizeTable(boolean value)
Sets whether the XML Merge should normalize the specification of columns in HTML tables.
|
void |
setProcessTables(boolean value)
Specifies whether to apply HTML table or DITA simpletable processing.
|
void |
setValidationLevel(ValidationLevel level)
Sets the
ValidationLevel to use for HTML table validation. |
void |
setWarningReportMode(WarningReportMode mode)
Specifies how HTML table invalidity warnings should be reported.
|
public HtmlTableConfiguration()
HtmlTableConfiguration
instance.public void setProcessTables(boolean value)
Specifies whether to apply HTML table or DITA simpletable processing.
HTML tables processing ensures that when valid input tables are provided - according to the HTML 4 or HTML 5 documentation - the result will be a valid HTML 4/5 table. Note that both inputs need to follow the same standard (i.e. be HTML 4 or HTML 5).
Simple changes to the table, such as changing the contents of a cell and adding a row or column are generally represented as fine grain changes. Because HTML entries can overlap or span multiple rows and columns, some types of change are difficult to represent at fine granularity, whilst ensuring validity. In these cases changes are represented at row (ie, groups of added/deleted rows) or even whole-table granularity.
DITA Simple tables are also handled by this filter. In this case, the syntactic constraints ensure that cells cannot overlap or span either rows or columns, therefore changes are represented at a fine grained level of detail.
Setting this parameter to false
turns off this processing, therefore it is possible to generate an invalid
table. However, if table validity is not a concern changes may be represented at finer granularity.
Default: true
value
- a boolean value to enable HTML table processingpublic boolean isProcessTables()
Determines whether HTML table processing is enabled.
public void setValidationLevel(ValidationLevel level)
Sets the ValidationLevel
to use for HTML table validation.
A value of ValidationLevel.STRICT
will cause the InvalidTableBehaviour
mode to be used for any HTML
invalidity. A value of ValidationLevel.RELAXED
means that invalidities which are known to have no effect on HTML
processing will not prevent HTML processing from running. N.B. Warnings will be reported according to the
WarningReportMode
regardless of the setting used here.
level
- an instance of ValidationLevel
describing the level to usepublic ValidationLevel getValidationLevel()
Returns the ValidationLevel
current in use when validating HTML tables.
ValidationLevel
describing the level in usepublic void setInvalidTableBehaviour(InvalidTableBehaviour behaviour)
In order to ensure that only valid HTML tables are passed to our specialized HTML table processing, each input table is marked either valid or invalid. This parameter declares what type of processing should be used for those tables that are marked as invalid. The 'warning report mode' parameter configures how recoverable errors are reported.
Three options are provided: fail, propagate up, and compare as XML. The fail option stops the comparison by throwing an appropriate exception (that includes the errors identified by the validity checker). The propagate up option ensures that changes to an invalid table are represented at the table level. The compare as XML option essentially compares the tables as if they were well-formed XML.
Note that the results of the compare as XML option can differ from comparing the tables without HTML table processing enabled, as a small amount of HTML specific processing is applied to invalid tables in order to allow them to be compared against a similar valid table.
Default: InvalidTableBehaviour.PROPAGATE_UP
behaviour
- the value to set for the InvalidTableBehaviour parameterIllegalArgumentException
- if the value is nullInvalidTableBehaviour
public InvalidTableBehaviour getInvalidTableBehaviour()
InvalidTableBehaviour
describing the behavior in usepublic void setWarningReportMode(WarningReportMode mode)
mode
- the WarningReportMode
to use when invalid HTML tables are encounteredpublic WarningReportMode getWarningReportMode()
WarningReportMode
in use when invalid HTML tables are encountered.WarningReportMode
describing the reporting mode in usepublic void setNormalizeTable(boolean value)
Sets whether the XML Merge should normalize the specification of columns in HTML tables.
This setting is recommended when there is a difference between inputs of specifying columns, e.g. if one uses just <colgroup> and another uses <col> without <colgroup>.
value
- whether to normalize HTML Table column specificationpublic boolean isNormalizeTable()
Determines whether HTML table column specification is normalized.
public void setIgnoreColumnOrder(boolean ignoreColumnOrder)
Sets whether the DocumentComparator
should ignore CALS table column order.
ignoreColumnOrder
- whether to ignore CALS table column orderpublic boolean isIgnoreColumnOrder()
Determines whether ignoring CALS table column order is enabled.
public void setHtmlColumnKeyingMode(HtmlColumnKeyingMode mode)
Sets the HtmlColumnKeyingMode
to use when comparing HTML tables.
mode
- an instance of HtmlColumnKeyingMode
describing the keying mode to usepublic HtmlColumnKeyingMode getHtmlColumnKeyingMode()
Returns the HtmlColumnKeyingMode
currently in use when comparing HTML tables.
HtmlColumnKeyingMode
describing the keying mode in useCopyright © 2023 Deltaman Group Ltd. All Rights Reserved.