Although the HTML viewer is typically used as a top view to display an HTML document, it can also be used as a widget and embedded in an application. ST/X itself uses this to display help texts for dialogs (try some dialog from the Launcher's settings menu).
In addition to most standard features, additional functionality has been built in, to allow some interaction with your current Smalltalk system.
Notice, that this browser has not been written to compete with existing
browsers - we do not claim it to be a replacement for any real WWW browser.
It has some major rendering features missing or only partially implemented;
especially tables, box model and style sheets are completely unusable for
today's web pages.
Its main purpose is to provide a powerful tool for interactive online
documentation AND at the same time use a widely used, industry standard document format.
Additional features are implemented as add-on tags and tag-parameters,
which are ignored by other browsers - thus, all documentation can also
be viewed using any other browser. However, the interaction features
will not be available with other browsers.
Documents may be located on local files or be accessed from remote machines via the HTTP protocol. This is especially useful in development groups or with larger projects, since the documentation can be located and managed on one central machine - thus reducing maintenance costs.
Beside its use as an ST/X document viewer, it may also be useful for application writers, to provide non-ST/X online documentation for their users.
By the way, due to its build in SmalltalkScript and applet support, it may also be useful as a tool to build nice intraNet applications - a very simple database application is found in ``html/applications/phoneBook''.
National characters:
ø | ø | Ø | Ø |
å | å | Å | Å |
ã | ã | Ã | Ã |
ñ | ñ | Ñ | Ñ |
õ | õ | Õ | Ø |
ä | ä | Ä | Ä |
ü | ü | Ü | Ü |
ö | ö | Ö | Ö |
ë | ë | Ë | Ë |
ï | ï | Ï | Ï |
ÿ | ÿ | ß | ß |
æ | æ | Æ | Æ |
â | â | Â | Â |
î | î | Î | Î |
ê | ê | Ê | Ê |
û | û | Û | Û |
ô | ô | Ô | Ô |
à | à | À | À |
ì | ì | Ì | Ì |
è | è | È | È |
ù | ù | Ù | Ù |
ò | ò | Ò | Ò |
á | á | Á | Á |
í | í | Í | Í |
é | é | É | É |
ú | ú | Ú | Ú |
ó | ó | Ó | Ó |
ç | ç | Ç | Ç |
Special characters:
< | < | > | > | & | & |
" | " | © | © | ® | ® |
¢ | ¢ | £ | £ | ¥ | ¥ |
¦ | ¦ | § | § | · | · |
« | « | » | » | ± | ± |
¼ | ¼ | ½ | ½ | ¾ | ¾ |
µ | µ | ¿ | ¿ | ÷ | ÷ |
¹ | ¹ | ² | ² | ³ | ³ |
° | ° | ||||
(no-break space) |
Lower case greek:
α | α | ι | ι | ρ | ρ |
β | β | κ | κ | σ | σ |
γ | γ | λ | λ | τ | τ |
δ | δ | μ | μ | υ | υ |
ε | ε | ν | ν | φ | φ |
ζ | ζ | ξ | ξ | χ | χ |
η | η | ο | ο | ψ | ψ |
θ | θ | π | π | ω | ω |
Variants:
ϖ | ϖ |
&vsigma; | &vsigma; |
ϕ | ϕ |
Upper case greek:
Γ | Γ | Ξ | Ξ | Φ | Φ | |
Δ | Δ | Π | Π | Ψ | Ψ | |
Θ | Θ | Σ | Σ | Ω | Ω | |
Λ | Λ | Υ | Υ | Χ | Χ |
The (not yet standard) Latex Math character set:
Since those character names are not yet defined in the HTML-3.2 standard,
the Latex names were used (we hope, those will make it at the end...)
Notice, that the entity names may be changed, once a common standard exists.
&ldots; | 3dots on baseline | &ldots; |
∀ | forall | ∀ |
&exists; | exists | &exists; |
ℵ | ℵ | |
ℜ | R fraktur | ℜ |
ℑ | I fraktur | ℑ |
&infty; | infinity | &infty; |
≤ | less-equal | ≤ |
≥ | greater-equal | ≥ |
≠ | not equal | ≠ |
≡ | equivalent | ≡ |
≈ | approximate | ≈ |
≅ | congruent | ≅ |
± | plus-minus | ± |
× | times | × |
÷ | div | ÷ |
⊕ | ring-plus | ⊕ |
⊗ | ring-times | ⊗ |
ø | ring-slash | ø |
∑ | summation | ∑ |
∏ | product | ∏ |
∨ | logOr (vee) | ∨ |
∧ | logAnd (wedge) | ∧ |
&neg; | negation | &neg; |
↑ | uparrow | ↑ |
↓ | downarrow | ↓ |
← | leftarrow | ← |
→ | rightarrow | → |
↔ | leftrightarrow | ↔ |
⇑ | Uparrow | ⇑ |
⇓ | Downarrow | ⇓ |
⇐ | Leftarrow | ⇐ |
⇒ | Rightarrow | ⇒ |
⇔ | Leftrightarrow | ⇔ |
∈ | Element-of | ∈ |
∉ | Not an element-of | ∉ |
⊂ | subset | ⊂ |
⊆ | subset-eq | ⊆ |
⊃ | superset | ⊃ |
⊇ | superset-eq | ⊇ |
⌊ | left floor | ⌊ |
⌋ | right floor | ⌋ |
⌈ | left ceiling | ⌈ |
⌉ | right ceiling | ⌉ |
Additional dynamic bindings:
escape | expands to | example |
---|---|---|
&userName; | your full user name | "&userName;" |
&userFirstName; | your first name | "&userFirstName;" |
&loginName; | your login name | "&loginName;" |
&userID; | your user id | "&userID;" |
&groupID; | your group id | "&groupID;" |
&hostName; | your machine's hostname | "&hostName;" |
&domainName; | your machine's domainname | "&domainName;" |
&date; | todays date | "&date;" |
&time; | right now | "&time;" |
&url; | the URL of the current document | |
"&url;" | ||
&urlBaseName; | its baseName | "&urlBaseName;" |
&urlDirName; | its directory name | |
"&urlDirName;" | ||
&stxVersion; | the ST/X version | "&stxVersion;" |
Text=
parameter in
the BODY
tag) can be specified both by RGB-value
and by name.
Here are a few examples:
red | green | blue |
---|---|---|
olive | navy | purple |
teal | gray | silver |
lime | maroon | yellow |
fuchsia | aqua | white |
"document window applets appletsName"
.
#getParameter:
-messages.
example
" [SHOWRESULT]
"example"
installs the
anchor text as a clickable example. When clicked upon,
it is interpreted as Smalltalk code.
The example's text is visible.
copyexample
" [SHOWRESULT]
"copyexample"
marks the
anchor text as non-clickable example. It does not evaluate when
clicked upon, but provides a popup menu which allows for the example's
text to be copied into a workspace.
``+''
or ``-''
, to specify a
relative indent.
A
: (for uppercase letters),
a
: (for lowercase letters),
I
: (for uppercase roman numbers),
i
: (for lowercase roman numbers),
The default is to use digits.
action=
" attribute to the anchor element, as in:
<A HREF="../../misc/onlyInSTX.html" ACTION="doit: Transcript showCR:10 factorial">
click to see 10 factorial on the Transcript
</A>
which results in the following link:
click to see 10 factorial on the Transcript
Such action links can be used to open example applications right from within the
help document.
For example:
Click here to open a browser on the SmallInteger class
.
For this reason, a strict security check is performed, before any script
is allowed to execute.
Since it is very hard (if not impossible) to provide a limited execution
environment (as is done with Java), the security mechanism is based on
trusted documents - instead of a protected environment.
Documents which are considered secure are allowed to execute - without limitations.
Methods can be defined between <SCRIPT> ... </SCRIPT>
in Smalltalk code (fileOut format). These are installed as methods of an
anonymous class, of which a single instance is created when a script-page is loaded.
Messages can be sent to this object interactively
(for example, via the ONCLICK="some message"
button parameter).
It is also possible, to execute Smalltalk code automatically, when the document is loaded.
Future enhancements will add additional interaction possibilities.
The script itself must consist of Smalltalk expression in a restricted chunk format. The script must consist of:
!variables!
| varName_1 varName_2 ... varName_n |
!
!methods!
selector
...
methods code
...
!
selector_2
...
!
...
selector_n
...
! !
"ONCLICK="
parameters.
Typically, these are associated with form-buttons.
#start
#stop
Access to browser resources is via messages to the window object; the access path has been setup to be similar to javaScript.
#at:
messages).
Named applets can also be accessed byName, by sending
corresponding messages to the applets collection.
NAME=
parameter)
can be accessed here.
#at:
messages).
Named forms can also be accessed byName, by sending
corresponding messages to the forms collection.
NAME=
parameter) vi the elements
name.
NAME=
parameter)
can be accessed here.
#at:
messages)
#at:
messages).
window document applets fooApplet
Notice, that this resembles the corresponding javaScript expression, which would be:
window.document.applets.fooApplet
Script examples are found in "doc/html/testDocs" or the index page "doc/html/testDocs/TOP.html".
View
class or
the Applet
class. However, applet specific functionality (such as
accessing the parameters) is only possible, if the applet inherits from Applet
.
Element | Attribute | Possible Values | Description |
---|---|---|---|
A | HREF= | "url" | hyperlink of anchor |
"man: command"
| hyperlink to a commands UNIX manual page | ||
NAME= | "string" | name of anchor | |
ONCLICK= | "scriptMethodName" | name of script method | |
TYPE= | "example "
| a clickable example | |
"plainFile "
| show as plain file - even if it contains HTML | ||
SHOWRESULT | for above: show result in info area | ||
ACTION= | "doit: ST-expr"
| Smalltalk expression evaluation | |
"plainText: ST-expr"
| expression provides plainText page | ||
"htmlText: ST-expr"
| expression provides html page | ||
INFO= | "string" | show info when mouse is over anchor | |
APPLET | WIDTH= | number | width of applet space |
HEIGHT= | number | height of applet space | |
LEVEL= | number | 3D level of applets view | |
CLASS= | "className" | name of applets class | |
CODE= | "url.cls "
| binary code file (ST/X bytecode) | |
"url.class "
| binary code file (JAVA bytecode) | ||
BODY | LEFTMARGIN= | number | set the overall leftmargin |
TOPMARGIN= | number | set the overall topmargin | |
RIGHTMARGIN= | number | set the overall rightmargin | |
BACKGROUND= | "url" | define a background image | |
BGCOLOR= | color | background color | |
TEXT= | color | color for text | |
LINK= | color | color for links | |
VLINK= | color | color for visited links | |
ALINK= | color | color for active (pressed) links | |
H<i> | ALIGN= | center | center the headers text |
right | rightAdjust the headers text | ||
default: leftAdjust | |||
NOINDEX | ignore in table of contents when printing | ||
NEWPAGE | force page break when printing | ||
NEED= | number | conditional page break when printing | |
IMG | SRC= | "url" | URL of the image. |
ALT= | "text" | text to display if image file is unloadable. | |
BORDER= | number | border width. Default is 0. | |
WIDTH= | number | width of image space | |
HEIGHT= | number | height of image space | |
HSPACE= | number | horizontal space around image | |
VSPACE= | number | vertical space around image | |
NOPRINT | ignore this image when printing | ||
LI | VALUE= | number | set the items sequence number |
OL | SEQNUM= | number | define the start number |
START= | number | alternative for above | |
TYPE= | "A" | uppercase alpha numbering | |
"a" | lowercase alpha numbering | ||
"I" | uppercase roman numbering | ||
"i" | lowercase roman numbering | ||
default: decimal numbering | |||
LIST-STYLE= | "upper-alpha" | uppercase alpha numbering | |
"lower-alpha" | lowercase alpha numbering | ||
"upper-roman" | uppercase roman numbering | ||
"lower-roman" | lowercase roman numbering | ||
"decimal" | decimal numbering | ||
"none" | suppress numbering | ||
default: as specified by TYPE attribute | |||
P | INDENT= | number | set indent |
+number | more indent | ||
-number | less indent | ||
default: indent unchanged | |||
NEWPAGE | force page break when printing | ||
NEED= | number | conditional page break when printing | |
S | strikeout (3.0) | ||
STRIKE | strikeout (3.2) | ||
UL | TYPE= | "arrow" | draw an arrow as marker |
"circle" | draw a circle marker | ||
"filledcircle" | draw a filled circle marker | ||
"square" | draw a square marker | ||
"filledsquare" | draw a filled square marker | ||
"disc" | draw a disc-bitmap marker | ||
default: depends on nesting level | |||
PLAIN | suppress any marker |
Copyright © eXept Software AG, all rights reserved
<info@exept.de>