lis650lecture 1 major html thomas krichel 2005-09-17

76
LIS650 lecture 1 Major HTML Thomas Krichel 2005-09-17

Upload: michelle-hood

Post on 27-Mar-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

LIS650 lecture 1

Major HTML

Thomas Krichel2005-09-17

Page 2: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

HTML

• HyperText Markup Language

• HTML is an SGML DTD– Head, Title, Body, Paragraph, etc.

– Headings, Bold, Italic, etc.

– Table, List, Image, etc.

– Links to other documents

– Forms

– and many others

Page 3: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

HTML history• HTML was a very bare-bones language when

first invented by Tim Berners-Lee. It did not describe pages with much of a visual appeal.

• In the 90s, successful browsers invented “extensions” that aimed to stretch the visual boundaries of HTML.

• Some of these extensions found their way in the official HTML spec issued by the W3C.

• Later the W3C developed style sheets as a way to accommodate for display requirements without having to extend HTML.

Page 4: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

HTML versions

• HTML 4.01 is the last version of HTML This version has two different DTDs:– the loose DTD

– the strict DTD

• I only the cover the elements of the strict DTD.

• The loose DTD has more elements, but all the functionality of these elements is best done with style sheets.

• Thus, the pages created with HTML only will look rather boring.

• But we do cover style sheets later.

Page 5: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

XHTML

• XHTML is HTML written in an XML syntax.

• Every XHTML document has to be well-formed XML.

• non-XHTML HTML documents can violate some well-formedness constraints, including– HTML element names are not case sensitive

– some HTML elements do not need closing.

– there is no need for a single root element in a HTML document.

Page 6: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

XHTML: pain without gain?

• In this course we study XHTML.

• When I say HTML in the following, I mean XHTML.

• Reasons to study XHTML rather than HTML– syntactic rules of XML are easier to understand.

– any tool that can work with XML can be applied to XHTML, but can not be applied to HTML.

– in general XML documents are more computer understandable. This is crucial in the age of the search engine.

Page 7: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

example XHTML snippet

<a href="http://openlib.org/home/krichel" title="homepage of Thomas Krichel">Thomas Krichel</a> – the whole thing is an <a> element. It creates an

anchor. (I use < and > to surround element names.)

– “href” is an attribute name

– “http://openlib.org/home/krichel” is the value of the href= attribute

(I attach = to attribute names)

– 'Thomas Krichel' is character data.

Page 8: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

notation in the course slides

• I will write elements as if I was writing the start tag.

• Elements that are always empty will be written out as empty elements.

• I will attach a = to all attribute name so as to stick them out. Thus, when I write id=, you know that I mean the id attribute.

Page 9: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

validation

• Remember that your page have to validate against the strict specification of XMTML.

• Do not use HTML elements, such as <font> that are not mentioned here!

• Do not use HTML attributes such as color= that are not mentioned here!

• Fonts, color, positioning etc will all be dealt with next week.

Page 10: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the root <html> element

• It has required children <head> and <body>.

• It has two optional attributes – the dir= attribute says in which direction the contents

is rendered. The classic value is "ltr", "rtl" is also valid.

– the lang= attribute says in which language the contents is. Use ISO 639 codes, e.g. lang="en-us"

– these two attributes are know as the internationalization (i18n) attributes.

• Example: <html lang="en-us"> … </html>

Page 11: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the document title <title>

• This is a required child of <head>.• It defines the title of the document.• It takes the i18n attributes.• Example <html><head lang="en-us"><title>A fine limerick</title></head><body><div>There was a young friar named Tuck</div></body></html>• It must only contain one character data node.

Page 12: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

usability concerns with <title>• The title is used by the user agent in a special

manner– as bookmark default title

– as the title for a window in which the user agent runs

• Google uses the title as anchor text to your web page. – It is a crucial ad for your page

– Google may truncate the title.

• Bad ideas for titles– section 1 – home page

Page 13: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

what is rendered: <body>

• This encloses the contents of the page as opposed to its header.

• Validation requires one and only one body.

• It takes the i18n attributes. as well as some others that we will discuss now. These fall into a another group of attributes we call “core attributes”.

• We will study those core attributes now.

Page 14: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

core attributes: id=

• This attribute assigns a name to a element.

• This name must be unique in a document. In the <body> element, this requirement is superfluous, of course.

• The id= attribute has several roles in HTML, including

• As a style sheet selector

• As a target anchor for hypertext links

Page 15: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

core attributes: class=• The class attribute is a friend of the id= attribute.

• It assigns one or more class names to a element. – Class names are separated by blanks, e.g. <p

class="limerick funny">...</p>

– The element may be said to belong to these classes. A class name may be shared by several elements.

• The class= attribute has several roles in HTML, but it is most useful as a style sheet selector, when you want to assign style information to a set of elements.

Page 16: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

example for class= and id=

<p class="limerick" id="limerick_1">

There was a young man from Peru<br/>

Whose limericks stopped at line two.</p>

<p>OK, that's a stupid limerick. Let us look at another</p>

<p class="limerick" id="limerick_2">

There was a young man from Japan<br/>

Whose limericks would never scan<br/>

And when they asked why<br/>

He said it is because I<br/>

Try to put as many words into the last line as I possibly can.</p>

Page 17: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

core attributes: title=

• The title= attribute sets a title in use with the element.

• There is no prescribed way in with the title is being rendered by a user agent.

• Sometimes it is shown as a tool tip, i.e. something that flashes up when the mouse is rolled over it.

• Example:

<a href="http://wotan.liu.edu/home/krichel" title="Thomas Krichel's homepage at wotan">Thomas Krichel</a>

Page 18: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

core attributes: style=

• Use the style= attribute to give style information to a particular element.

• This will be more discussed when we do the style sheets.

• Usually there are better ways to attach style information then writing it onto every element. It is better to place the tag into a class by giving them the same class= attribute, and then give style sheet information for the class.

• See validated.html for an example.

Page 19: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

summary: core attributes

• To summarize, we have a group of core attributes.

• These attributes can be used with almost all elements.

• There are other attributes that can be almost universally used, called “event attributes”, but they have to do with scripting. We may study them later in this course.

Page 20: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

block-level vs text-level elements• Block-level elements contain data that is aligned

vertical by visual user agent. • Text-level elements are aligned horizontally by

visual user agents.• The reasons behind this distinction

– Block level can contain other block level elements and text-level elements.

– Text-level elements can not contain block-level elements.

– Visual user agents start a new line at the beginning of block-level elements.

– Multidirectional text would be impossible without it.

Page 21: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

vertical divisions <div> and <p>

• The <div> elements allows you to set arbitrary block level divisions in your document.

• It takes the core attributes.

• RULE: put all your contents that is vertically aligned into a <div>.

• The <p> tag is like <div> but it signals the start and end of a paragraph.

Page 22: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the line break <br/>

• This element used to create a line break.

• Note its emptiness!

• If you want to do several line breaks you can do it with <br/>&nbsp;<br/> but this is horribly ugly!

Page 23: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

horizontal divisions <span>

• This is another element for arbitrary divisions, but it operates on inline content. This is contents that is put in lines horizontally, rather than block-level contents, that is put in vertically.

• Admits core attributes.

• Put things in a <span> that belong together in a line.

Page 24: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

<span> exampleA worse poet however was

J<span class="r">enny</span>.<br/>

Her limericks weren’t worth a P<span class="r">enny</span><br/>

Though the invention was

s<span class="r">ound</span><br/>

She always f<span class="r">ound</span><br/>

That, whenever she tried to write <span class="r">any</span><br/>

She always had one line to

m<span class="r">any</span><br/>.

Page 25: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

abstraction ends here

• Up until now, we have done a lot of abstract elements and attributes that do not achieve much visual impact.

• Instead, they– point the style sheet to where things are

– create a semantic design

• We will now turn to more physical descriptions.

Page 26: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

try it out

• Right click validated.html in your winscp window.

• You will see the option to duplicate the file.

• Duplicate it, say, to “tryout.html” by entering the new name.

• Right-click tryout.html and choose edit.

• Open a user agent to

• http://wotan.liu.edu/~user/tryout.html

where user is the name of your user name. You should be able to see your changes, as last saved.

Page 27: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the anchor: <a>

• Opens a hyperlink

• The contents of element is the anchor.

• The href= attribute has the target URL.

• The hreflang= has the language of the target.

• The type= attribute gives the MIME-type of the target.

• There are other attributes for which we have no use– coords –shape –accesskey –tabindex

• Of course, <a> takes the core attributes.

Page 28: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

more on <a>

• It takes the rel= attributes to specify the relationship between the current document and the link target, as well as the rev= attribute to specify the reverse. – This is not currently well supported by the browsers.

– I will come back to these relational attributes when discussing the <link> element.

• Example <a href="http://openlib.org/home/krichel">My

professor</a>

Page 29: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

linking to other files on wotan

• If you want to link to a page that you already have in your public_html folder on wotan, you simply quote the name of the file

<a href="second_page.html">second page</a>

• Please give all the HTML files the ending .html.

• Avoid blanks, as well as other exotic characters in file names. Instead of blanks, use underscores.

Page 30: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

linking within a document

• If the id= attribute of an element in a document at a URL URL is set to id , you can make the element the target of a link.

• You use the URL URL#id for this purpose.

• If the document linked to is the current document, you don’t need to mention its URL.

• example: <a href= "http://openlib.org/home/kric hel#validator">valid</a> links to the element with id "validator" in Thomas Krichel's homepage.

Page 31: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

images: <img> • Images are referenced, not included in the

document.

• The src= attribute says where the image is.

• The alt= attribute give a text to show for user agents that do not display image. It may be shown by the user agents as the user highlights the image. It is limited to 1024 characters.

• The longdesc= attribute is the same as alt= but does not have the length limitation.

• Example: <img src="thomas_krichel.jpg" alt="picture of Thomas Krichel"/>

Page 32: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

more on <img>

• You can have the user agent resize the image– width= attribute gives the user agent a suggestion for

the width of the image.

– height= attribute gives the user agent a suggestion for the height of the image.

• both attributes can be expressed – in pixels, as a number

– in %age of the current display width

• Of course <img> admits the core attributes.

Page 33: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

setting the resolution

• If you set height= and width= to the exact size of the picture, you make it easier for the user agent to render it. It can render the page even though it may not have downloaded the picture.

• If you set it to something different, the user agent may (and in practice, does) scale your picture. The scaled picture looks ugly and scaling takes time.

• It is best to size your pictures using a dedicated picture manipulation software such a gimp.

Page 34: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

HTML checking • validated.html has some code that we can now

understand.

<p>

<a href="http://validator.w3.org/check?uri=referer">

<img style="border: 0pt"

src="http://wotan.liu.edu/valid-xhtml10.png"

alt="Valid XHTML 1.0!" height="31"

width="88" />

</a></p>

• click on the icon to validate your code.

Page 35: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

header elements

• Aeaders <h1> to <h6>

• All are block-level elements.

• Vary text size based on the header’s level.

• Actual size of text of header element is selected by browser.

• Results can vary significantly between user agents.

• All take the core attributes.

Page 36: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

horizonatal rule with <hr/>

• It creates a horizontal rule

• It admits the core attributes

• Other attributes have been deprecated, i.e. are allowed in the loose DTD but not the strict one.

Page 37: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

contents-based style elements• <abbr> encloses abbreviations• <acronym> encloses acronyms• <cite> encloses citations• <code> encloses computer code snippets• <dfn> encloses things being defined• <em> encloses emphasized text• <kbd> encloses text typed on a keyboard• <samp> encloses literal samples• <strong> encloses strong text• <var> encloses variablesall admit the core attributes

Page 38: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

physical style elements

• <b> encloses bold contents

• <big>encloses big contents

• <small> encloses small contents

• <i> encloses italics contents

• <sub> encloses subscripted contents

• <sup> encloses superscripted contents

• <tt> encloses typewriter-style contents

all admit the core attributes

Page 39: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

“preformatted” contents: <pre>

• Encloses contents that is to be rendered with the characters and line breaks just like in the source text. Markup is still allowed, but elements that do spacing should not be used, obviously.

• It takes the core attributes.

Page 40: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

quoting with <blockquote> and <q>

• <blockquote> quotes a paragraph.

• <q> make a short quote inside a paragraph.

• Both takes a cite= attribute that take the value of a URL of the source of the quote.

• They also take the core attributes.

Page 41: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

list elements

• <ol> creates an ordered list.– <li> encloses each item

• <ul> unordered list– <li> encloses each item

• <dl> encloses a definition list– <dt> encloses the term that is being defined

– <dd> encloses the definition

• All take the core attributes and the i18n attributes.

Page 42: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

ordered list example

The largest towns in Saarland are

<ol>

<li>Saarbrücken</li>

<li>Neunkirchen</li>

<li>Völklingen</li>

<li>Saarlouis</li>

</ol>

Page 43: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

unordered list exampleThe ingredients for Dibbelabbes are

<ul>

<li>potatoes</li>

<li>onion</li>

<li>lard</li>

<li>eggs</li>

<li>garlic</li>

<li>leeks</li>

<li>oil (for frying)</li>

</ul>

Page 44: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

definition list example

Here are some derogatory terms in Saarland dialect. <dl>

<dt>Traanfunsel</dt><dd>a slow person</dd>

<dt>Labedudelae</dt><dd>a lazy and badly organized person without accomplishments</dd>

<dt>Schmierpiss</dt><dd>a person of poor body hygiene</dd>

</dl>

Page 45: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

tables

• HTML allows to align contents is tabular form.

• Tables may have a caption and/or a summary.– Both describe the table.

– The latter is longer than the former.

• Table rows are aligned vertically.

• Table columns are aligned horizontally.

• Cells are at the intersection between rows and columns.

Page 46: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

table illustration

A table is a matrix formed by the intersection of a number of horizontal rows and vertical columns.

Column 1 Column 2 Column 3

Row 1

Row 2

Row 3 CellCellCell

CellCellCell

CellCellCell

A table is a matrix formed by the intersection of a number of horizontal rows and vertical columns.

Column 1 Column 2 Column 3

Row 1

Row 2

Row 3 CellCellCell

CellCellCell

CellCellCell

Page 47: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

HTML table design

• It tries to make simple things simple without making sophisticated things impossible

• It takes account of the fact that the absolute width of the table can not be controlled by the HTML writer but it is the hands of the reader.

• Not all things one would like to do are supported.

• Sometimes tables can lead to excessive scrolling. Use of style sheets is recommended when the table has mainly a visual function, see Thomas' homepage for a bad example.

Page 48: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

elements & attributes not covered

• Many points in the table spec of HTML have one or more of the following attributes– mainly important for non-visual rendering

– complicate & abstract

– little used

– mainly a verbosity reduction feature

• So I am omitting some of them in the discussion

Page 49: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

more table talk that is not covered

• Table rows may be grouped into– head section

– body section

– foot section

• Table columns may also be grouped into more arbitrary ways in so-called column groups.

• Table cells can contain– header information

– table data

Page 50: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the <table> element• It encloses a table. It takes the i18n and core

attributes.

• The summary= attribute provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille.

• The width= attribute specifies the desired width of the entire table. It is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space.

Page 51: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the frame= attribute of <table>

• This attribute specifies which sides of the frame surrounding a table will be visible. Possible values: – "void" no sides. This is the default value. – "above" the top side only – "below" the bottom side only – "hsides" the top and bottom sides only – "vsides" the right and left sides only – "lhs" the left-hand side only– "rhs" the right-hand side only – "box" all four sides– "border" all four sides

Page 52: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the rules= attribute of <table>

• This attribute specifies which rules will appear between cells within a table. Possible values – "none" no rules. This is the default.

– "groups" rules between row groups only.

– "rows" rules between rows only.

– "cols" rules between columns only.

– "all" rules between all rows and columns

Page 53: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the border= attribute of <table>

• This attribute sets the width of the frame of a table, if it is set to be visible. The value can only be a pixel number.

• Rules and frames can make for visual noise.

Page 54: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the <caption> element

• It is used to give a caption to the table.

• It takes the i18n and the core attributes.

• It is only allowed immediately after the <table> tag start.

• There can only be one <caption> in any one <table>.

• We will now study the alignment attributes. This is an attribute group widely used in tables. <table> also takes those attributes.

Page 55: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

alignment: the align= attribute• The align= attribute specifies the alignment of

data and the justification of text in a cell. Possible values: – "left" left-flush data or left-justify text.

This is the default value for table data.

– "center" center data or center-justify text.

This is the default value for table headers.

– "right" right-flush data or right-justify text.

– "justify" double-justify text

– "char" align text around a specific character as set with a "char" attribute

Page 56: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

alignment: the valign= attribute• The valign= attribute specifies the vertical

position of data within a cell. Possible values: – "top" Cell data is flush with the top of the cell.

– "middle" Cell data is centered vertically within the cell.

This is the default value.

– "bottom" Cell data is flush with the bottom of the cell.

– "baseline" All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells.

Page 57: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

alignment: char= and charoff=• The char= attribute specifies a single character

within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang= attribute.

• The charoff= attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. The direction of offset is determined by the current text direction, as set by the "dir" attribute. (obscure)

Page 58: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

alignment: cellspacing=

• The cellspacing= attribute specifies how much space the user agent should leave – between the left side of the table and the left-hand

side of the leftmost column– between the top of the table and the top side of the

top row,– between the right side of the table and the right-hand

side of the right most column– between the bottom of the table and the bottom side

of the last row– The attribute also specifies the amount of space to

leave between cells.

Page 59: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

alignment attributes: cellpadding=

• Does the same as cellspacing, but gives the distance between the border of the cell and the and the contents.

• Note that cellpadding= and cellspacing= can only one length. – if it is pixel, horizontal and vertical dimensions are the

some

– if it is a percentage, horizontal and vertical space are different as the percentage is applied to the

Page 60: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the table rule <tr>

• It encloses a table row.

• It takes the alignment attributes.

• It takes the i18n attributes.

• It takes the core attributes.

Page 61: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the table cell <td> • It encloses a cell in a table that is not a header cell.• It admits the alignment and core attributes• It has an abbr= attribute for abbreviated contents.• Its rowspan= and colspan= attributes say how

many rows or columns the cell spans. • It has a headers= attribute specifies the list of

header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of header cell id= attribute values. (you can ignore this)

• It takes an axis= attribute, whose purpose is so abstract that I will not cover it here.

Page 62: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the header cell <th> • It encloses a header cell

• It admits the same attributes as <td>, but headers= does make no sense here.

• Instead, we have a scope= attribute that specifies the set of data cells for which the current header cell provides header information. It can take the values– "row": The current cell provides header information for the rest of

the row that contains it.

– "col": The current cell provides header information for the rest of the column that contains it.

– "rowgroup": The header cell provides header information for the rest of the row group that contains it.

– "colgroup": The header cell provides header information for the rest of the column group that contains it.

Page 63: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

example by Lesk (1976)

Page 64: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

example by Lesk (1976)

Page 65: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

Lesk's most famous

Page 66: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the <meta/> element in <head>

• This can be used to include metadata in the header.

• It has an attribute "name" for the property name

• It has an attribute "content" for the property values

• It also takes the i18n attributes.

• Example:

<meta name="author" content="Thomas"/>

• <meta/> is always an empty element.

Page 67: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

<meta name="description" ... />

• The description meta name is the one that I think is being used by Google.

• When the query matches a page an the terms of the query appear in the description, the description appears in the snippet of the result, despite the fact that the description is not visible on the web page.

• An example is available on the homepage of Bill Goffe.

Page 68: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the http-equiv= attribute to <meta/>

• The http-equiv= tells the client to behave as if a http header had been received.

• Example:

<meta http-equiv="content-type" content="text/html; charset="shift_jis"/>

will tell the server to tell the browser that the page is written in HTML with shift_jis encoding.

• This is useful when your page is read without http headers, for example from your local disk.

Page 69: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

scheme= attribute of <meta>

• You can give a scheme attribute to <meta>.

• Its content can be a name string, that the user agent may be able to do something with

• Or it can be a URI, where the user agent may find something to do.

• But there is no standard way to do things.

Page 70: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the <base/> element in <head>

• Can fix the baseline URL for all the relative links in the document.

• This URL is given in the href= attribute to base. This attribute must be present.

• Within the confines of what we are working with, I do not see a reason for you to use it.

• Example <base href="http://openlib.org"/>

Page 71: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

the <link/> element in <head>

• appears in the <head> of the page.

• It creates a link between the current page and others.

• It takes the href= attribute to say what page is being pointed to.

• It takes a rel= attribute for forward link and "rev" for the reverse link. Example:– Consider two documents A and B.

• Document A: <link href="docB" rel="foo"/>

– Has exactly the same meaning as:• Document B: <link href="docA" rev="foo"/

Page 72: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

values of rel= and rev= attributes

• The possible values of rel= and ref= are – "alternate" – "stylesheet" !☻!

– "start" – "next"

– "prev" – "contents"

– "index" – "glossary"

– "copyright" – "chapter"

– "section" – "subsection"

– "appendix" – "help"

– "bookmark"

Page 73: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

rel= and rev= with <a>

• You can use rel= and rev= in <a>.

• Examples– <a href="copyright.html" rel="copyright">&copy;</a>

– <a href="index.ru.html" rel="alternate" hreflang="ru" charset="koi-8">по русскйи</a>

• Note that search engine support for this is limited.

Page 74: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

other attributes to <link>

• <link> takes the core attributes. (no idea why)

• It takes the type= attribute for the MIME type of the page linked to.

• It takes the hreflang= attribute to give the language of the page linked to.

• It takes the charset= attribute to give the character set of the page being linked to.

• It takes the media= attribute to give the media for the page being linked to. Use the CSS media types, covered in the next lecture.

Page 75: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

<link> and search engines

• Using <link> you can give search engine things like– Links to alternate versions of a document, written in

another human language.

– Links to alternate versions of a document, designed for different media, for instance a version especially suited for printing.

– Links to the starting page of a collection of documents.

• I am not sure if current engines use this.

Page 76: LIS650lecture 1 Major HTML Thomas Krichel 2005-09-17

http://openlib.org/home/krichel

Please shutdown the computers whenyou are done.

Thank you for your attention!