More advice for the full screen mode.
Sivut toimivat riittävän hyvin MS IE 4.0+, Opera 5.x+, Netscape 6.0+/ vast. Mozilla ja Konqueror 3.x selaimilla. Yleisesti ottaen sivut toimivat parhaiten uusimmilla Opera selaimilla. Sivujen toimivuus vanhemmissa selaimissa on heikko, erityisesti Netscape 4.x kohdalla.

I list below all topic groups, which I have done according to subjects, which they handle. You can return to this topic group by using this menu and the link Table of topic groups on the top of the each page.

Generic about elements and the basic idea of HTML

The basic structural parts of all HTML and XML documents (I explain later, what XML means) are elements. The main task of elements is to create clear structure, but they have also other tasks. The meaning of the structure you can understand by comparing following two pages:
Text without any structure:[M][S][Pw].
Text with a simple structure:[M][S][Pw].

In order to separate elements from the content of the document, they need some special encoding, which are called as tags. Tags mark the beginning and (in most cases also) the end of elements (I write about start-tags and end-tags or I use other corresponding words like starting tag, closing tag and termination tag). Because they mark elements, they are exactly written element tags.

HTML base on SGML (Standard Generalized Markup Language). SGML is a generic language to describe the structures of used document languages. It have tools to define individual document types (I handle later closer different document types). SGML is not as such a markup language but a meta language to define markup languages, which are both machine and human readable.

Gentle Introduction to SGML.

In the SGML documentation is written about tags following (I emphasized some parts of the text):

Markup that describes the structure and other attributes of a document in a non-system specific manner, independently of any processing that may be performed to it. In particular, SGML descriptive markup uses tags to express the element structure.

They are called as descriptive markup because they describe, where documents have elements. Tags are the most important markup codes in HTML documents (HTML and XML has also some other markup codes and tags, which I list in the Footnote 1[S][Pw]).

The name of the element is called as the generic identifier of the element and it means different matter as tag as you can see from the following cites of SGML and modularization documentations (I emphasized some parts of the text):


Generic identifier (GI) = A name that identifies the element type of an element

Modularization of XHTML (Terms and Definitions)
Descriptive markup delimiting the start and end (including its generic identifier and any attributes) of an element.
W3C: CSS2: 4 CSS2 syntax and basic data types, 4.1.3[Pw].
Modularization of XHTML.

Indeed the name of the element together with delimiters works to the browser as an element identifier (what are delimiters can be seen from a conceptual scheme[S][Pw]), where I use in the example the element HTML). It is however incorrect to say, that the whole tag is an identifier, because the start-tag may have several identifiers (I handle this matter later)

In SGML elements don't have any specific tasks, but in HTML they have defined tasks. The main task is however the same as in SGML to express the structure of documents. The name HTML comes partly from the idea, that starting and termination tags mark areas - that's we speak and write about a markup language.

In fact tags are like stamps, which are hit among the content to the start and possible also to the end of elements in order to certainly separate elements from other code. I hope, that you could understand this matter also from the animal metaphor. This animal has normally some tags. Not however just these tags, which I have drawn to this picture! Let's think that the name of our document is Cow.html.

A cow, which have HTML element tags

The another main task of elements in HTML is to create links. HTML was original designed to be extremely simple language to create documents, which have hyper links (they are either links inside the document or links between documents). That's why we talk also about hyper text and HTML (Hyper Text Markup Language - originally HTML included only text links). In the early HTML-documents other than linking elements were primary as assistance codes, which made the text more readable and clear organized ([M][S][Pw]).

Elements, which can get both start- and end-tags can work as element containers to other elements and contents. These elements can be as parent elements to child-elements (elements, which are inside the start and end tags of the parent element without any other element levels between them; I handle this point of view more thoroughly later in this site). Parent elements can have content models (corresponding an element, which is a child-element of some other element, can have parent models).

Some elements can't have closing tags, because they don't mark any areas. They are called as "empty elements".

An example of usage of elements P (paragraph) and BR (forced line break), which look out following, if you watch at it from the source code ([M][S][Pw]):

<P>This text is inside starting<BR>
and termination tags,<BR> but it does have some BR-elements,
<BR> which create forced line breaks.</P>

Footnote 1. An example of standard document definition file is http://www.w3.org/TR/REC-html40/loose.dtd. DTD-file includes following declarations (... = the content of the declaration):

W3C: loose.dtd (HTML 4.01).

Elements, <!ELEMENT ... >
Attribute lists, <!ATTLIST ... >
Parameter entities, <!ENTITY % ... "..." >. They are so-called DTD-macros, which collect in DTD-files used values, attribute or elements, for example <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">. I explain the usage of them in two pages (Help for HTML All[S] and Help for TM wappush[S]).
Common entities/ general entities, for example <!ENTITY amp "&#38;">. In standard DTD-files they are either listed or referred with addresses. They are needed in order to display certain characters, which are used in the source code. For example displaying this sign < on the screen. The sign begins with &, in the middle is the text lt and ends with ;. Accented characters should mark as entities, for example = (used for example in Finnish and Swedish texts) and = (a Spanish/Portuguese character). Text, where entities are converted into certain characters is called as PCDATA (Parsed Character Data; look at also the reference #PCDATA[S]).

Common entities are one of the other markup codes, which I have referred.
Markup codes = element tags, comment tags, common entities. In addition XML use markup codes and ]]> to exchange the parsing mode. All, which is inside them are read as literal (CDATA = Character Data). In HTML 2.0 and HTML 3.2 this was accomplished with some obsolete elements[S].