What happened to the attitude you used to have at school
What happened to the attitude when you broke all the rules
(The Farm, "Groovy Train")
Messages
hsc is able to produce lots of different warnings and
errors when parsing hsc-sources. The are devided into several classes,
and there is a possibility to filter out specific messages or whole
message classes.
There are also possibilities to change the rendering of messages and
redirect them to a file, making it easy to integrate hsc into
existing developer environments.
Message elements
By default, messages show up as seen below:
file (line#, colum#): class and message-id: message
with being
file
the name of the input file that caused message
line#
and colum#
the position in input file that caused error
class
the message class,
one of Note, Bad-style, Portability-problem, Warning, Error or Fatal error.
See below for details about message classes.
message
the message text, which consists of a description what
has caused the message
For example, a typical message would be:
hugo.hsc (17,23): Warning 11: unknown tag <SEPP>
Message classes
Note is a message only for the
users information. It can be suppressed using IGNORE
.
Bad-style informs the user that
his altough legal html-code includes constructs that indicate a bad style.
It can be suppressed using IGNORE
.
Portability-problem informs the
user that his altough legal html-code includes constructs can lead to problems
on old or buggy browsers.
It can be suppressed using IGNORE
.
Warning tells you that your source
includes some problematic parts, that can lead to problems with several
browsers.
It can be suppressed using IGNORE
.
Error indicates that there is something
wrong with your html-source. No output is written.
Fatal error tells you that something
terrible has happened and there is no way to continue the conversion.
No output is written.
Message options
There are several CLI options to modify the behavior of hsc's messages:
- IGNORE can be used to suppress single messages or whole
message classes, if you are not interested in them
- MSGFORMAT specifies a
template how to use message elements
- MSGFILE is used to
redirect messages into a file, where they for example can be processed
by some message parser that controls your editor
- MSGANSI tells hsc
to use some ANSI escape sequences to make messages easier to read, if
you only let them show up on the screen (and don't use any IDE)
List of messages
Below you can find a list of messages that might show up when processiong
hsc-sources. Most of them also include a short explanation what could
have caused the problem and how to fix it.
However, this is not a html-tutorial. To fully
understand these messages requires some experience from the user.
- warning
1: unable to open project-file
-
The project-file specified could not been open. This indicates
no problem, if you specified a project-file using PRJFILE
the first time; it will be created automatically after the
html-object has successfully been processed.
- fatal error
2: project-file corrupt
-
The data found in the project file are not of the required
form. Most likely, the file-format-version is outdated.
Remove the old file, hsc will create a new one next time it
is invoked.
- fatal error
3: unexpected end of file
-
There are still characters to be read from input, but the file
already ends; hsc tells you what it still expects to come.
- message 4:
- Ununsed or undocumented.
- message 5:
- Ununsed or undocumented.
- fatal error
6: can not open file for input
-
An input file could not been opened. A more detailed message that tells
you why is displayed, too.
- note
7: stripped tag <tag>
-
Notifies user that a tag has been removed. This usually happens
because the user requested this with one of the CLI-options.
- message 8:
- Ununsed or undocumented.
- bad style
9: expected heading
<Hx>
-
A heading should not be more than one level below the heading
which preceded it. That is, an
<H3>
element should not
follow an <H1>
element directly. The first heading
showing up in a document should be <H1>
.
- bad style
10: "click here" syndrome detected
-
A keyword defined with the special attribute
HSC.CLICK-HERE
has been found within the text inside an anchor specification.
Ok, now again in english: you used some term like "Click here" inside
the text describing a link. This is very clumsy and should be avoided;
see Composing
Good HTML for details.
- error
11: unknown tag <tag>
-
You refered to an unknown tag or macro.
- error
12: tag <tag> occured too often
-
A tag that is expected to occure only once appeared at least twice.
Remove all unneccessary occurences of the tag.
- warning
13: unmatched end-tag <tag>
-
You called a end-tag without using the corresponding start-tag
before.
- warning
14: illegal end-tag nesting
-
A end-tag appeard where a different end-tag was expected to
appear before. Example: instead of
<B><I>bold and italic</B></I>
you should write
<B><I>bold and italic</I></B>
- warning
15: required tag <tag> missing
-
A tag that is required for every document is missing.
- warning
16: end-tag <tag> missing
-
You called an start-tag, but didn't end it. Insert the required
end-tag.
- error
17: unknown tag modifier /modifier
-
You have used an unknown modifier
to define the characteristics of an tag or macro.
- warning
18: unknown entity
-
You used an entity, that hsc doesn't know. This can happen if you
made a typo, or the entity has not been defined within
hsc.prefs.
- warning
19: ";" expected
-
A semicolon (``
;
´´) has been expected, but didn't occure. For instance,
you could have an entity ``ü
´´ instead of
``ü
´´.
- error
20: reference to unknown attribute
-
You referered to an attribute that doesn't exist at all.
- warning
21: path to URI not found: file
-
A tag points to a local resource that doesn't exist.
- warning
22: argument without quote
-
You passed a value to an attribute, but did not embed it into single
or double quotes. This can lead to problems with older browsers.
- error
23: empty reference to attribute attrib
-
An attribute referes to an attribute that has been defined, but no
value has been set for. Usually, you try to refer to an attribute
inside a macro, that no value has been passed to within the call
of the macro.
- warning
24: attribute option ``option´´ not allowed in this context
-
You have used an option
to define the characteristics of an attribute, which is not allowed to
appear at this location.
- bad style
25:
<BLINK>
sucks -
Some browser support the non-html-tag
<BLINK>
. It is used
to make text blinking, which annoys many users. Additionally, most
of them don't know how to configure their browser that it doesn't
blink, so you really should avoid it.
- error
26: default value for attribute attrib already set
-
You tried to assign more than one default value within an attribute declaration.
For instance, like in
<$define HUGO:string="hugo"="or sepp?">
Remove the part corresponding to ``="or sepp?"
´´.
- error
27: attempt to modify constant attribute attrib
-
You tried to assign a new value to an attribute declared as constant.
That is, the attribute option
/CONST
has been specified when defining it earlier.
- message 28:
- Ununsed or undocumented.
- error
29: tag <A> without HREF or NAME
-
An anchor tag has been specified without one of the required attributes
HREF
or NAME
.
- error
30: unmatched ">"
-
A "greater than" sign appeared inside the text. You should write
"
>
" instead. This can also happen, if you made
an error calling a tag, and hsc's parser couln't recover.
- error
31: expected "element_expected", found "element_found"
-
A syntax element did not occure where it has been expected.
- message 32:
- Ununsed or undocumented.
- warning
33: linefeed found inside string
-
- message 34:
- Ununsed or undocumented.
- error
35: unknown value value for enumerator attribute attrib
-
You tried to set an enumerator to a value it doesn't support.
- error
36: unexpected end of line
-
- warning
37: tag <tag> is obsolete
-
The tag was defined within some old html-version, but should
not be used any more (eg.
<LISTING>
).
- warning
38: tag <tag> is only used by jerks
-
This tag is no legal html-tag and is only supportet by special
browsers.
- error
39: custom user message
-
This text and class of this message can be controlled by the
user using
<$message>
.
- fatal error
40: can not open preferences file
-
The file hsc.prefs could not be found at any of the
expected locations.
- warning
41: unknown environment variable ``envvar´´
-
The function
GetEnv()
could not access the environment variable specified an returned an
empty value.
- error
42: missing value for attribute attrib
-
Non-boolean attributes require an value set.
- error
43: unknown attribute option option
-
You defined a new attribute, but used an
option that is unknown.
- error
44: required attribute attrib missing
-
An attribute that is required has not been set within the call
of a tag or macro.
- warning
45: unexpected value for attribute attrib: expected ``value´´, found ``value´´
-
This message can show up if you have specified GETSIZE when invoking hsc,
and have set the attribute
WIDTH
and/or HEIGHT
by
hand. It denotes that the values you have used differ from those hsc has
evaluated from the image data.
- note
46: replaced char by entity
-
Informs you that a special character (non-7-bit-ASCII) has been replaced
by it's corresponding entity.
- error
47: illegal white space
-
A white space occured at a place where it was not supposed to.
- portability problem
48: line feed inside sgml-comment
-
- portability problem
49: ">" inside sgml-comment
-
- portability problem
50: sgml-comment ends inside quotes
-
The messages#47 to #50 touch problems that are known bugs of
several browsers. A general comment on sgml-comments: Try to avoid
them, use the
<* comment *>
tag instead.
- warning
51: no entry for document "document" in project data to check id id
-
This message is active only if you specified a project file when invoking hsc using
the option PRJFILE. It tell you that a reference to a local id within a
document could not be checked because the document linked to is not mentioned
in the project file.
Usually, this happens when you did not process the above mentioned document
with a project file specified before. Do not worry about that too much,
after processing all documents of your project at least once, this message
usually does not show up any more.
If it still is there, then you are refering to documents that are part of
none or another project using another project-file; if so, there is no
work-around for this case.
- message 52:
- Ununsed or undocumented.
- error
53: unmatched
<$else>
-
An
<$else>
tag has been at an unexptected position. Usually,
a single preceding <$if>
has two or more corresponging <$else>
tags assigned.
- warning
54: calling external command returned value
-
You have invoked a shell-command using
<$exec>
and it returned a
value unequal to zero, which usually denotes an error while processing
the command. For error analysis, look at the output that the command
(hopefully) has made.
- portability problem
55: empty sgml-comment
-
An element of the form
<!>
has been detected.
- portability problem
56: sgml-comment consists of a single word
-
A sgml-comment consisting of a single word, for instance
``
<!--sepp-->
´´,
has been detected. Note that there are no blanks preceding/succeding
``sepp´´)
- error
57: no start tag for end tag <tag>
-
An end tag has been detected without it's corresponding start tag
occuring before.
- portability problem
58: icon-entity entity found
-
Icon-entities are not (yet) widly supported.
- warning
59: redefined tag <tag>
-
You have just redefined a tag or macro that has already been
declared before. The previous declaration will be thrown away.
- error
60: tag <tag> must be inside tag <tag>
-
Before you are allowed to use the first tag, the second tag has to
occure before. Example:
<INPUT>
may only occure
inside <FORM>
.
- error
61: tag <tag> not allowed within tag <tag>
-
A tag occures inside another tag that doesn't allowe this. For example,
you can't recursively use
<A>
inside <A>
.
- error
62: no attributes allowed for end-tags
-
You tried to pass values to a end-tag or macro. If you need an attribute
for a end-macro only, you still have to define and pass it within the
start-macro; the end-macro will have access to all these attributes
and its values.
- warning
63: redefinance of attribute attrib
-
You redefined an alredy existing attribute. If this occures during
the definition of a new macro, you just tried to give two arguments the
same name.
- error
64: illegal attribute identifier "attribute_name"
-
You have tried to use an attribute name which contains characters not
allowed for that. Legal characters for attribute names are letters, digits,
underscore (``
_
´´), period (``.
´´) and hyphen (``-
´´).
- error
65: unknown binary operator "operator"
-
Within an
expression,
you have used an binary operator that is not
one of those mentioned in the
list of operators.
- error
66: illegal end-tag
-
You tried to use a simple tag as a container, for example
</IMG>
- message 67:
- Ununsed or undocumented.
- note
68: unknown filetype
-
hsc could not determine the size
of a link destination.
- error
69: illegal entity definition
-
Somethings wrong with a
<$defent>
or <$deficon>
call.
- warning
70: can not strip special tag <tag>
-
You have tried to strip one of hsc's
special tags using the CLI-option
STRIPTAGS. This does not make much sense, because all these tags
will not show up in the output anyway.
- error
71: illegal numeric value value for attribute attrib/entity
-
A numeric value must only consist of letters. Only integer values are
allowed, therefor even a period (``
.
´´) must not be used.
- warning
72: illegal color value
-
A color value must fit the template ``
#rrggbb
´´
or be one of the values declared in the special attribute
HSC.COLOR-NAMES
defined in hsc.prefs
- message 73:
- Ununsed or undocumented.
- warning
74: unknown id id id
-
You forgot to specify the ID mentioned using
<A NAME=..>
,
or just made a typo.
- warning
75: local id id id already declared
-
You tried to redfine an ID that has already been declared before within
the current document.
- bad style
76: frames are disgusting
-
This message should need no comment; anyway, read
Why Frames Suck
for more details.
- note
77: replacing icon-entity
-
A icon-entity has been found is was replaced by an
<IMG>
.
This message will only show up if you have passed the CLI option
ICONBASE.
- bad style
78: succeeding white-space for tag <tag>
-
See below.
- bad style
79: preceding white-space for end tag <tag>
-
These two messages point out that instead of (read the underscore (``
_
´´))
as a blank)
<STRONG>
__important__</STRONG>
you better should use
<STRONG>
important</STRONG>
It only affects tags like <A>
, <TITLE>
, headings and
physical/locigal styles.
- message 80:
- Ununsed or undocumented.
- warning
81: value for attribute attrib requires quotes
-
If a attribute value contains any characters other then letters,
digits, period (``
.
´´) or hyphen (``-
´´), it needs to be quoted.
- note
82: changed quotes for attribute attrib from [style] to [style]
-
The quote style has been changed for a specific attribute.
This message will only show up if you have passed the CLI option
QUOTESTYLE.
Thomas Aglassinger
(agi@giga.or.at),
04-Dec-1996