Top Method Summary
Options Name Purpose
AddAttribute (character, integer, integer) Stores the byte range of one attribute value
AddEntity (character, integer) Adds one named entity to the lookup table
AddHorizontalRule () Adds the horizontal rule an hr element stands for
AppendTextRange (integer, integer) Processes the given byte range as text content
ApplyAlignAttribute (character) Applies the deprecated align attribute of the element that was opened
ApplyDeclaration (integer, integer) Applies one declaration of a style attribute
ApplyElement (character) Applies the meaning of the element that was opened
ApplyHyperlink () Applies the target of a hyperlink to the character formatting
ApplyListStyleType (character) Applies a list-style-type declaration to the ordered list whose style attribute is being applied
ApplyStyleAttribute () Applies the declarations of the style attribute of the element that was opened
ApplyTextDecoration () Adds the text decoration the element that was opened draws itself to the decoration it inherits
CHARACTER AsciiChar (integer) Returns the character the given ASCII byte stands for
BuildLookupTables () Fills the lookup tables of the named entities and the named CSS colors
LOGICAL BytesBeginWith (integer, character) Returns if the source begins with the given ASCII value at the given position
CloseElement (character) Closes the element the closing tag named
LONGCHAR DecodeRange (integer, integer) Returns the given byte range with its entities decoded
EmitPendingSpace () Writes the blank that was remembered by NoteSpace
EndBlock () Ends the block of the element that was closed
EndTableElement () Closes the table a table element ends
EnsureBlock () Opens the block that content is about to be added to
INTEGER EntityCodePoint (integer, integer) Returns the code point the entity in the given byte range stands for
INTEGER EntityEnd (integer) Returns the position of the semicolon that ends the entity which begins at the given position
INTEGER FlushStage (memptr, integer) Moves the decoded characters that were staged into the text of the current run
FlushText () Writes the text collected so far into the document
LOGICAL HasValueToken (character, character) Returns if a blank separated CSS value holds the given keyword
LOGICAL IsAsciiLetter (integer) Returns if the given byte is an ASCII letter
LOGICAL IsBlockElement (character) Returns if the given element starts a block
LOGICAL IsBoldValue (character) Returns if the given font weight value means bold
LOGICAL IsSameAscii (character, character) Returns if the two given ASCII values are the same, comparing the case as well
LOGICAL IsWhitespace (integer) Returns if the given byte is whitespace
MaterializePendingBlock () Adds the block that is pending to the document
NoteSpace () Remembers that whitespace was seen
INTEGER NumberAttribute (character) Returns the number the named attribute of the element that was opened carries
Consultingwerk.Util.DocumentConverter.ListNumberingEnum NumberingOfStyleValue (character) Returns the numbering type the given list-style-type value names
Consultingwerk.Util.DocumentConverter.ListNumberingEnum NumberingOfTypeAttribute () Returns the numbering type the type attribute of the ordered list that was opened names
OpenElement (character, logical) Opens the element the opening tag named
INTEGER ParseColor (character) Returns the RGB value the given color value names
INTEGER ParseFontSize (character) Returns the font size in points the given value names
INTEGER ParseIndentLevel (character) Returns the indentation level the given length names
PopElement () Closes the innermost open element
PushElement (character, logical, logical, logical, logical) Pushes the given element on the element stack
INTEGER PutUtf8 (memptr, integer, integer) Writes the UTF-8 encoding of the given code point into the target
Consultingwerk.Util.DocumentConverter.TextDocument Read (longchar) Reads the given HTML document into a new TextDocument
INTEGER ReadAttribute (integer) Reads one attribute of an opening tag
INTEGER ReadEndTag (integer) Reads a closing tag and closes the element it names
ReadImage () Adds the image the img element names
INTEGER ReadName (integer, character) Reads an element or attribute name
INTEGER ReadStartTag (integer) Reads an opening tag with its attributes and opens the element it names
INTEGER ReadTag (integer) Reads the tag that begins at the given position
ResetState () Resets the reader state so that an instance could be reused
SetBold (logical) Applies a change of the bold state to the current run
SetCode (logical) Applies a change of the monospace state to the current run
SetFontSize (integer) Applies a font size change to the current run
SetForeColor (integer) Applies a foreground color change to the current run
SetItalic (logical) Applies a change of the italic state to the current run
SetStrikethrough (logical) Applies a change of the strikethrough state to the current run
SetSubscript (logical) Applies a change of the subscript state to the current run
SetSuperscript (logical) Applies a change of the superscript state to the current run
SetUnderline (logical, UnderlineStyleEnum) Applies a change of the underline state to the current run
INTEGER SkipTo (integer, character) Returns the position behind the next occurrence of the given ASCII value
CHARACTER SliceAscii (integer, integer) Returns the given byte range as a character, keeping the ASCII bytes only
LONGCHAR SliceUtf8 (integer, integer) Returns the given byte range as a longchar
StartBlock (integer, integer, logical) Remembers the block that the element which was opened starts
StartListItem () Starts the block of a list item
StartTableElement () Opens the table a table element starts
Consultingwerk.Util.DocumentConverter.BlockAlignmentEnum ToAlignment (character) Returns the alignment the given CSS or attribute value names
LONGCHAR TrimQuotes (longchar) Returns the given value without the quotes a CSS value may be written in
Consultingwerk.Util.DocumentConverter.UnderlineStyleEnum UnderlineStyleOfValue (character, UnderlineStyleEnum) Returns the underline style a text-decoration or a text-decoration-style value names

Top Constructor Summary
Options Name Purpose
HtmlReader () Creates a new HtmlReader instance


Method Detail
Top

AddAttribute (character, integer, integer)

Purpose: Stores the byte range of one attribute value
Notes: The value is kept as a range rather than as a value, so that
it is only decoded when the element actually uses it

Parameters:
pcName CHARACTER
The name of the attribute
piFrom INTEGER
The position of the first byte of the value
piTo INTEGER
The position of the last byte of the value
Top

AddEntity (character, integer)

Purpose: Adds one named entity to the lookup table
Notes:

Parameters:
pcName CHARACTER
The name of the entity, without the ampersand and the semicolon
piCodePoint INTEGER
The Unicode code point the entity stands for
Top

AddHorizontalRule ()

Purpose: Adds the horizontal rule an hr element stands for
Notes: A rule holds no runs and carries neither the alignment nor the
indentation in effect: it has no text to align, and the
HtmlWriter writes it as a bare hr, so a style attribute on it
would come back as a property the document never carried
(SCL-5857).
A block that is still pending is dropped rather than
materialized, exactly as it is when another block element
opens before it received content - the div that only wraps a
rule must not leave an empty paragraph in front of it. The
block state is cleared behind the rule, so that the text
following it opens a paragraph of its own with the alignment
and the indentation that are in effect there.

Top

AppendTextRange (integer, integer)

Purpose: Processes the given byte range as text content
Notes: Entities are decoded, and outside a pre element every run of
whitespace is collapsed into a single blank that is only
written when text follows it in the same line

Parameters:
piFrom INTEGER
The position of the first byte of the range
piTo INTEGER
The position of the last byte of the range
Top

ApplyAlignAttribute (character)

Purpose: Applies the deprecated align attribute of the element that was
opened
Notes: The Telerik HtmlFormatProvider still writes it in places, and
it is what an HTML document of the previous century carries
instead of a style attribute (SCL-5855)

Parameters:
pcName CHARACTER
The name of the element
Top

ApplyDeclaration (integer, integer)

Purpose: Applies one declaration of a style attribute
Notes:

Parameters:
piFrom INTEGER
The position of the first byte of the declaration
piTo INTEGER
The position of the last byte of the declaration
Top

ApplyElement (character)

Purpose: Applies the meaning of the element that was opened
Notes: The element is applied before its style attribute, so that an
explicit style wins over the element it sits on

Parameters:
pcName CHARACTER
The name of the element
Top

ApplyHyperlink ()

Purpose: Applies the target of a hyperlink to the character formatting
Notes: SetHyperlinkUrl drops a target with a scheme that is not
allowed, so the text of such a link is read as plain text -
see the class header (SCL-5864)

Top

ApplyListStyleType (character)

Purpose: Applies a list-style-type declaration to the ordered list whose
style attribute is being applied
Notes: SCL-5858

Parameters:
pcValue CHARACTER
The value of the declaration
Top

ApplyStyleAttribute ()

Purpose: Applies the declarations of the style attribute of the element
that was opened
Notes: This is how both editors express the formatting of their
toolbar; every declaration the model cannot hold is ignored

Top

ApplyTextDecoration ()

Purpose: Adds the text decoration the element that was opened draws
itself to the decoration it inherits
Notes: SCL-5859. CSS propagates a decoration to the content of the
element that declares it, and nothing inside that content can
take it away again: u containing a span with
text-decoration: line-through is rendered underlined and
struck through, and a span with text-decoration: none inside a
u is still underlined. So a declaration can only switch a line
on here. The style of an underline is the one of the
innermost element that draws an underline of its own - a
text-decoration-style declaration on an element that draws no
underline styles nothing, which is what a browser shows as
well. When two nested elements both draw an underline, a
browser draws both lines; the model holds one and keeps the
inner one.

Top

CHARACTER AsciiChar (integer)

Purpose: Returns the character the given ASCII byte stands for
Notes: Only used for element and attribute names, which are ASCII

Parameters:
piByte INTEGER
The byte value
Returns CHARACTER
The character
Top

BuildLookupTables ()

Purpose: Fills the lookup tables of the named entities and the named
CSS colors
Notes: The Latin-1 entity names are listed in the order of their code
points, so the position in the list names the code point - the
first entry is code point 160. The lists are assembled here
rather than declared as an INITIAL value, because an INITIAL
value has to be a single literal and would be one unreadable
line.

Top

LOGICAL BytesBeginWith (integer, character)

Purpose: Returns if the source begins with the given ASCII value at the
given position
Notes: The comparison is case insensitive, which is what HTML asks
for on element names and URI schemes

Parameters:
piFrom INTEGER
The position to compare at
pcAscii CHARACTER
The ASCII value to compare with
Returns LOGICAL
TRUE when the source carries that value at that position
Top

CloseElement (character)

Purpose: Closes the element the closing tag named
Notes: Everything that is still open inside it is closed with it,
which is what makes an unclosed inline element harmless; a
closing tag that matches nothing is ignored

Parameters:
pcName CHARACTER
The name of the element to close
Top

LONGCHAR DecodeRange (integer, integer)

Purpose: Returns the given byte range with its entities decoded
Notes: Used for the attribute values; the text content takes the
whitespace handling of AppendTextRange instead

Parameters:
piFrom INTEGER
The position of the first byte of the range
piTo INTEGER
The position of the last byte of the range
Returns LONGCHAR
The longchar with the decoded value, fixed to UTF-8
Top

EmitPendingSpace ()

Purpose: Writes the blank that was remembered by NoteSpace
Notes: Called before text is added, which is the point at which the
blank turns out to be content rather than layout

Top

EndBlock ()

Purpose: Ends the block of the element that was closed
Notes: A block that never received content still becomes a block -
an empty paragraph is content in a text document

Top

EndTableElement ()

Purpose: Closes the table a table element ends
Notes: Only the outermost table closes the one in the document; see
StartTableElement

Top

EnsureBlock ()

Purpose: Opens the block that content is about to be added to
Notes: Content that stands outside of any block opens a paragraph of
its own

Top

INTEGER EntityCodePoint (integer, integer)

Purpose: Returns the code point the entity in the given byte range
stands for
Notes: The comparison of a named entity is byte exact, because the
names are case sensitive and an ABL comparison is not

Parameters:
piFrom INTEGER
The position of the first byte of the entity name
piTo INTEGER
The position of the last byte of the entity name
Returns INTEGER
The code point, or 0 when the entity is not known
Top

INTEGER EntityEnd (integer)

Purpose: Returns the position of the semicolon that ends the entity
which begins at the given position
Notes: An ampersand that does not introduce an entity is text

Parameters:
piFrom INTEGER
The position of the ampersand
Returns INTEGER
The position of the semicolon, or 0 when there is no entity
Top

INTEGER FlushStage (memptr, integer)

Purpose: Moves the decoded characters that were staged into the text
of the current run
Notes:

Parameters:
pmStage MEMPTR
The memptr the characters were staged in
piOut INTEGER
The position behind the last staged byte
Returns INTEGER
The staging position for the next character, always one
Top

FlushText ()

Purpose: Writes the text collected so far into the document
Notes: Called before every change of the character formatting and at
every block boundary

Top

LOGICAL HasValueToken (character, character)

Purpose: Returns if a blank separated CSS value holds the given keyword
Notes: The value of a declaration the model can hold is ASCII, see
ApplyDeclaration

Parameters:
pcValue CHARACTER
The value of the declaration
pcToken CHARACTER
The keyword to look for
Returns LOGICAL
TRUE when the value holds the keyword as a token of its own
Top

LOGICAL IsAsciiLetter (integer)

Purpose: Returns if the given byte is an ASCII letter
Notes:

Parameters:
piByte INTEGER
The byte value to test
Returns LOGICAL
TRUE when the byte is a letter between a and z
Top

LOGICAL IsBlockElement (character)

Purpose: Returns if the given element starts a block
Notes:

Parameters:
pcName CHARACTER
The name of the element
Returns LOGICAL
TRUE when the element starts a block
Top

LOGICAL IsBoldValue (character)

Purpose: Returns if the given font weight value means bold
Notes: The numeric weights are what a browser writes back

Parameters:
pcValue CHARACTER
The value of the font-weight declaration
Returns LOGICAL
TRUE when the value means bold
Top

LOGICAL IsSameAscii (character, character)

Purpose: Returns if the two given ASCII values are the same, comparing
the case as well
Notes: An ABL comparison is case insensitive, and the names of the
HTML entities are not - Auml and auml are two characters

Parameters:
pcValue1 CHARACTER
The first value
pcValue2 CHARACTER
The second value
Returns LOGICAL
TRUE when both values carry the same characters in the same case
Top

LOGICAL IsWhitespace (integer)

Purpose: Returns if the given byte is whitespace
Notes:

Parameters:
piByte INTEGER
The byte value to test
Returns LOGICAL
TRUE when the byte is a blank, a tab, a line feed or a carriage return
Top

MaterializePendingBlock ()

Purpose: Adds the block that is pending to the document
Notes:

Top

NoteSpace ()

Purpose: Remembers that whitespace was seen
Notes: The blank is not written yet: whitespace at the end of a block
or in front of a line break is layout and is dropped, and only
text that follows it turns it into content. The formatting in
effect where the whitespace stood is remembered with it.

Top

INTEGER NumberAttribute (character)

Purpose: Returns the number the named attribute of the element that was
opened carries
Notes: For the start attribute of an ordered list and the value
attribute of a list item. A sign and a run of digits are read;
a value that is not a number yields the unknown value, as does
a missing attribute, and a run of more digits than the model
holds yields the largest number it does (SCL-5858).

Parameters:
pcName CHARACTER
The name of the attribute, in lower case
Returns INTEGER
The number, or the unknown value
Top

Consultingwerk.Util.DocumentConverter.ListNumberingEnum NumberingOfStyleValue (character)

Purpose: Returns the numbering type the given list-style-type value names
Notes: The keywords of CSS are case insensitive, which an ABL
comparison is as well. A value the model cannot hold - disc,
none, decimal-leading-zero, lower-greek - yields the unknown
value and leaves the numbering type of the list as it was
(SCL-5858).

Parameters:
pcValue CHARACTER
The value of the list-style-type declaration
Returns Consultingwerk.Util.DocumentConverter.ListNumberingEnum
The ListNumberingEnum member, or the unknown value
Top

Consultingwerk.Util.DocumentConverter.ListNumberingEnum NumberingOfTypeAttribute ()

Purpose: Returns the numbering type the type attribute of the ordered
list that was opened names
Notes: 1, a, A, i and I. The value is case sensitive - a is a lower
case letter and A an upper case one - so it is compared by its
byte rather than with an ABL comparison, which ignores the case.
A missing attribute and every other value are decimal numbers
(SCL-5858).

Returns Consultingwerk.Util.DocumentConverter.ListNumberingEnum
The ListNumberingEnum member
Top

OpenElement (character, logical)

Purpose: Opens the element the opening tag named
Notes: Everything that is not handled here is transparent: its
content is kept and the element itself has no effect

Parameters:
pcName CHARACTER
The name of the element
plSelfClosing LOGICAL
TRUE when the tag closed itself
Top

INTEGER ParseColor (character)

Purpose: Returns the RGB value the given color value names
Notes: The three digit and the six digit hexadecimal notation, the
rgb function and the named colors of the editors are
understood

Parameters:
pcValue CHARACTER
The value of the color declaration
Returns INTEGER
The RGB value, or the unknown value
Top

INTEGER ParseFontSize (character)

Purpose: Returns the font size in points the given value names
Notes: A size in pixels is converted at the 96 dots per inch a
browser uses; a size given as a keyword or in a relative unit
cannot be resolved and is ignored

Parameters:
pcValue CHARACTER
The value of the font-size declaration
Returns INTEGER
The font size in points, or the unknown value
Top

INTEGER ParseIndentLevel (character)

Purpose: Returns the indentation level the given length names
Notes: 40 pixels - the left margin a browser gives a blockquote of
its own - is one level, and a length in between is rounded to
the nearest level, so that the 30 pixel step an editor may use
for its indent button is read as one level as well. A length
in a relative unit or given as a keyword cannot be resolved
and yields the unknown value, which leaves the indentation of
the element above it alone; a length of zero clears it.

Parameters:
pcValue CHARACTER
The value of the margin-left or padding-left declaration
Returns INTEGER
The indentation level, or the unknown value when the length cannot be resolved
Top

PopElement ()

Purpose: Closes the innermost open element
Notes:

Top

PushElement (character, logical, logical, logical, logical)

Purpose: Pushes the given element on the element stack
Notes: The character formatting, the alignment and the indentation in
effect are saved with it, so that the closing tag can restore
them

Parameters:
pcName CHARACTER
The name of the element
plIsBlock LOGICAL
TRUE when the element starts a block
plIsList LOGICAL
TRUE when the element is a list container
plIsPre LOGICAL
TRUE when the element preserves whitespace
plIsDropped LOGICAL
TRUE when the element is dropped with its content
Top

INTEGER PutUtf8 (memptr, integer, integer)

Purpose: Writes the UTF-8 encoding of the given code point into the target
Notes: CHR cannot build a character the session code page does not
know, so the encoding is written by hand

Parameters:
pmTarget MEMPTR
The memptr to write to
piPos INTEGER
The position to write at
piCodePoint INTEGER
The Unicode code point to encode
Returns INTEGER
The position behind what was written
Top

Consultingwerk.Util.DocumentConverter.TextDocument Read (longchar)

Purpose: Reads the given HTML document into a new TextDocument
Notes: The reader never raises on malformed input - it produces the
best possible document instead

Parameters:
plcSource LONGCHAR
The longchar with the HTML document or fragment
Returns Consultingwerk.Util.DocumentConverter.TextDocument
The TextDocument with the content of the HTML document
Top

INTEGER ReadAttribute (integer)

Purpose: Reads one attribute of an opening tag
Notes: An unquoted, a single quoted and a double quoted value are all
accepted, as is an attribute without a value

Parameters:
piFrom INTEGER
The position of the first character of the attribute name
Returns INTEGER
The position behind the attribute
Top

INTEGER ReadEndTag (integer)

Purpose: Reads a closing tag and closes the element it names
Notes:

Parameters:
piFrom INTEGER
The position of the first character of the element name
Returns INTEGER
The position behind the tag
Top

ReadImage ()

Purpose: Adds the image the img element names
Notes: An image embedded as a data URI becomes an image run; an image
referenced by a URL becomes a hyperlink with its alternative
text, because RTF cannot reference an external image. The
source is checked like any other target (SCL-5864): one with a
scheme that is not allowed leaves the alternative text, or the
source itself, as plain text.

Top

INTEGER ReadName (integer, character)

Purpose: Reads an element or attribute name
Notes: Names are ASCII, so they are kept as a CHARACTER

Parameters:
piFrom INTEGER
The position of the first character of the name
pcName CHARACTER
The name, in lower case
Returns INTEGER
The position behind the name
Top

INTEGER ReadStartTag (integer)

Purpose: Reads an opening tag with its attributes and opens the element
it names
Notes:

Parameters:
piFrom INTEGER
The position of the first character of the element name
Returns INTEGER
The position behind the tag
Top

INTEGER ReadTag (integer)

Purpose: Reads the tag that begins at the given position
Notes: A comment and a document type declaration are skipped with
their content

Parameters:
piFrom INTEGER
The position of the opening angle bracket
Returns INTEGER
The position behind the tag, or the given position when what follows is not a tag
Top

ResetState ()

Purpose: Resets the reader state so that an instance could be reused
Notes:

Top

SetBold (logical)

Purpose: Applies a change of the bold state to the current run
Notes: Flushes the pending text first, so that it keeps the
formatting it was written with

Parameters:
plValue LOGICAL
The new value of the bold state
Top

SetCode (logical)

Purpose: Applies a change of the monospace state to the current run
Notes:

Parameters:
plValue LOGICAL
The new value of the monospace state
Top

SetFontSize (integer)

Purpose: Applies a font size change to the current run
Notes: A size that could not be resolved leaves the run unchanged

Parameters:
piPoints INTEGER
The new font size in points
Top

SetForeColor (integer)

Purpose: Applies a foreground color change to the current run
Notes: A color that could not be resolved leaves the run unchanged

Parameters:
piRgb INTEGER
The new RGB value
Top

SetItalic (logical)

Purpose: Applies a change of the italic state to the current run
Notes:

Parameters:
plValue LOGICAL
The new value of the italic state
Top

SetStrikethrough (logical)

Purpose: Applies a change of the strikethrough state to the current run
Notes:

Parameters:
plValue LOGICAL
The new value of the strikethrough state
Top

SetSubscript (logical)

Purpose: Applies a change of the subscript state to the current run
Notes: Setting it clears the superscript state

Parameters:
plValue LOGICAL
The new value of the subscript state
Top

SetSuperscript (logical)

Purpose: Applies a change of the superscript state to the current run
Notes: Setting it clears the subscript state - a sup element nested
in a sub one wins, which is what a browser renders

Parameters:
plValue LOGICAL
The new value of the superscript state
Top

SetUnderline (logical, UnderlineStyleEnum)

Purpose: Applies a change of the underline state to the current run
Notes: A change of the style alone starts a new run too, and
switching the underline off resets the style (SCL-5859)

Parameters:
plValue LOGICAL
The new value of the underline state
poStyle Consultingwerk.Util.DocumentConverter.UnderlineStyleEnum
The underline style
Top

INTEGER SkipTo (integer, character)

Purpose: Returns the position behind the next occurrence of the given
ASCII value
Notes: The end of the input ends the search

Parameters:
piFrom INTEGER
The position to start searching at
pcAscii CHARACTER
The ASCII value to search for
Returns INTEGER
The position behind the value, or behind the end of the input
Top

CHARACTER SliceAscii (integer, integer)

Purpose: Returns the given byte range as a character, keeping the ASCII
bytes only
Notes: Used for the element names, the attribute names and the values
of the style declarations the model can hold - all of them
ASCII by specification. A byte outside the ASCII range is
dropped rather than converted, so that the result can never
depend on the session code page.

Parameters:
piFrom INTEGER
The position of the first byte of the range
piTo INTEGER
The position of the last byte of the range
Returns CHARACTER
The character with the ASCII content of the range
Top

LONGCHAR SliceUtf8 (integer, integer)

Purpose: Returns the given byte range as a longchar
Notes: Used where the range is known to carry no entity - the base64
data of a data URI

Parameters:
piFrom INTEGER
The position of the first byte of the range
piLength INTEGER
The number of bytes the range occupies
Returns LONGCHAR
The longchar with the value, fixed to UTF-8
Top

StartBlock (integer, integer, logical)

Purpose: Remembers the block that the element which was opened starts
Notes: The block is only added to the document once it receives
content or is closed, so that a div that only wraps a
paragraph does not produce an empty block of its own

Parameters:
piKind INTEGER
The integer code of the block kind
piLevel INTEGER
The heading level or the nesting level of a list item
plNumbered LOGICAL
TRUE for a numbered list item
Top

StartListItem ()

Purpose: Starts the block of a list item
Notes: The nesting level of the item follows the nesting of the list
elements it sits in

Top

StartTableElement ()

Purpose: Opens the table a table element starts
Notes: A table nested inside a cell is flattened - the model holds a
table as membership on the blocks of its cells, so a cell
cannot hold a table of its own. Only the outermost table
opens one in the document; the rows and cells of a nested one
stay transparent and their content becomes further blocks of
the cell that holds them.
A table also ends the block that surrounds it, so that text
following the table does not continue in the paragraph of the
last cell

Top

Consultingwerk.Util.DocumentConverter.BlockAlignmentEnum ToAlignment (character)

Purpose: Returns the alignment the given CSS or attribute value names
Notes: A value the model cannot hold - distribute, a length, an
inherit - yields the unset alignment rather than being carried
along partially, which is the first-pass loss every other
property the model cannot hold takes as well

Parameters:
pcValue CHARACTER
The value of the text-align declaration or of the align attribute
Returns Consultingwerk.Util.DocumentConverter.BlockAlignmentEnum
The matching BlockAlignmentEnum member, NotSet for every other value
Top

LONGCHAR TrimQuotes (longchar)

Purpose: Returns the given value without the quotes a CSS value may be
written in
Notes: Works on the UTF-8 bytes, because the value may be a font name
the session code page does not know

Parameters:
plcValue LONGCHAR
The value to unquote
Returns LONGCHAR
The value without its surrounding quotes, fixed to UTF-8
Top

Consultingwerk.Util.DocumentConverter.UnderlineStyleEnum UnderlineStyleOfValue (character, UnderlineStyleEnum)

Purpose: Returns the underline style a text-decoration or a
text-decoration-style value names
Notes: The five values of text-decoration-style, solid being Single
(SCL-5859)

Parameters:
pcValue CHARACTER
The value of the declaration
poDefault Consultingwerk.Util.DocumentConverter.UnderlineStyleEnum
The style to return when the value names none
Returns Consultingwerk.Util.DocumentConverter.UnderlineStyleEnum
The UnderlineStyleEnum member


Constructor Detail
Top

HtmlReader ()

Purpose: Creates a new HtmlReader instance
Notes: The accumulator is fixed to UTF-8 here rather than in Read,
because FIX-CODEPAGE can only be applied to a LONGCHAR that
has no value yet



©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       19.09.2026 10:19:18