Top Banner
LIS650 lecture 0 Introductory lecture Thomas Krichel 2007-01-28
79

LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

Mar 27, 2015

Download

Documents

Luke Chase
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

LIS650 lecture 0

Introductory lecture

Thomas Krichel

2007-01-28

Page 2: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

today• Today's contents

– Administrative introduction to the course– Substantive introduction to the course– Talk about you!– Introduction to the web– Introduction to XML– Introduction to character sets– A few words about images

• Fairly general, abstract and tough lecture. Can lead to serious angst.

Page 3: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

course resources

• Course home page is at http://openlib.org/h ome/krichel/courses/lis650n07s

• Course resource page http://openlib.org/h ome/krichel/courses/lis650

• Class mailing list https://lists.liu.edu/mailma n/listinfo/cwp-lis650-krichel

Page 4: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

quizzes• First quiz next lecture.• If you miss a lecture, let me know in

advance. • Final grade is calculated by computer.

Quizzes go through a complicated discounting scheme. It disregards the worst quiz performance.

Page 5: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

other assigments

• the web site plan– to be handed in next week– discussed at the end of today

• the web site assessment– to be done later– discussed next slide

• the final web site– to be handed in at the end– discussed after next slide

Page 6: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

web site assessment• Assess the web site of an academic LIS

department such as listed at http://informationr.net/wl/

• A suggested list of admissible departments is http://openlib.org/home/krichel/courses/lis650/doc/departments.html

• If you don’t use an item from that list ask me first.

• Write a text not describing, but commenting on the web site.

• Keep it short, no more than 2 pages.

Page 7: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

the final web site• Contents should be equivalent to a student essay.• It should be a contribution to knowledge on a

topic.• Your own personal site is not allowed. • Good contents and good architecture are

important to a straight A.• Time

– Deadline to finish web site: one week after the end of the last lecture.

– You will not be able to change your web site between the deadline and the time that the grade is issued.

Page 8: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

course history

• Course was first run as an institute 2002-05-13 to 2002-05-17

• Title was “Webmastering I: the static web site”.• To the curriculum committee, this title did not

sound academic enough. • In 2003 “Web Site Architecture and Design”

(WebSAD) became the the full title.• In 2005 “Passive Web Site Architecture and

Design” became the title.• WebSAD is what we basically learn.

Page 9: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

teaching WebSAD• WebSAD combines many aspects:

– Authoring pages– Work on the organization of data to fit onto pages– Set display style of different pages– Define look and feel of the site– Organize the contribution of data– Maintain a technical web installation

• Some of them can be learned in a course, but others can not.

• Emphasis has to be on learnable elements.

Page 10: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

teaching philosophy

• Point and click on a computer software is not enough.

• Explain underlying principles.• Promote standards

– XHTML 1.0 strict– CSS level 2.1

• Avoid proprietary software.• Provide a reasonable rigorous introduction

to digital information.

Page 11: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

LIS650 contents

• Deals with the maintenance of a passive web site. Such a web site remains the same whatever the user does with it. There is no customization for different users or times.

• Topics include– (x)html & css– site usability & information architecture– http, URI, web server

Page 12: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

things this course does not do• Forms: allow you to design forms that

users fill in. But you do not have the programming skills to do something with the form.

• Frames: allow you to put several documents into one physical document. Most experts advise against them.

• Image maps• Some advanced CSS properties• Some exotic features of HTML

Page 13: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

active web sites• Can be as simple as say "Good morning"

in the morning.• Or change the contents as a result of

mouse movements.• But typically, deals with a scenario where:

– Users fill in a form.– Users submit the form.– Web server return a page that is specific to

the request of the user.

Page 14: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

LIS651

• Uses a language called PHP, that is widely used to generate such web sites.– Gets you introduced to computer programming.– Gets you to train analytical thinking.

• Uses databases to store and retrieve information.– Gets you to think about the structure of

information.• Less material than LIS650, but more difficult.

Page 15: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.
Page 16: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

WWW history

• The World Wide Web was invented by Tim Berners-Lee and Robert Cailliau at the CERN in Geneva, CH, in 1990.

• It is now maintained by the World Wide Web Consortium (W3C), a standards making body in Boston, MA.

• Tim Berners-Lee is the director of the W3C.

Page 17: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

what is it? According to the W3C: the World Wide Web (Web)

is a network of information resources. The Web relies on four standards to make these resources readily available to the widest possible audience:– A uniform naming scheme for locating resources on the

Web (i.e. URIs). – Protocols for access to named resources over the

Internet (e.g., http). – Hypertext, for easy navigation among resources (e.g.,

HTML).– Vocabularies for types of objects on the Web (i.e. MIME

types)

Page 18: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

a uniform naming scheme

• Every resource available on the Web—HTML document, image, video clip, program, etc—has an address that may be encoded by a Uniform Resource Identifier, or “URI”.

• URIs typically consist of three pieces:– The name of the mechanism used

• to access the resource• or the otherwise “resolve” it

– The name of the machine hosting the resource.

– The name of the resource on host, as a path.

Page 19: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

example URI

• http://openlib.org/home/krichel

This URI may be read as follows: There is a document available via the HTTP protocol, residing on the Internet host openlib.org, accessible via the path “/home/krichel”.

• mailto:[email protected]

This URI may be read as follows: There is email user krichel in a domain openlib.org to whom email may be sent.

Page 20: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

protocols to access named resources• Computers connected to the Internet

(“hosts”) use different application level protocols to do things.

• The most commonly used protocol for the web the hypertext transfer protocol http.

• Another protocol that we use in class is the secure shell ssh.

• Both are client/server protocols– A client sends a request– A server sends a response to the client.

Page 21: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

the http protocol• http is stateless. Each transaction is self-

contained. Each transaction has no relationship to the previous one.

• http has a limited vocabulary of requests and responses. It is no good, say, to operate a machine remotely.

• http is insecure. The contents of http transactions (requests/responses) can be observed.

• We can therefore not use it to build web pages.

Page 22: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

the ssh protocol

• ssh is protocol that uses public key cryptography to encode a stream of communication between two machines.

• The ssh client software we use on the PC is called WinSCP. It is a file transfer program.

• To be able to connect to a remote machine that runs ssh, the remote machine has to run ssh server software. It is common that Linux machines run such software.

Page 23: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

our server

• Is the machine wotan.liu.edu

• We also say it is a “host” on the Internet.

• wotan is the head of the gods in the Germanic legend. The name has nothing to do with Chinese food.

• It is a humble PC.

• It runs the testing version of Debian/GNU Linux.

• It runs both http and ssh server software.

• It is maintained by Thomas Krichel.

Page 24: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

wotan and mac os/x

• In the past I told Mac users to investigate investigate a software called fugu: http://rsug.itd.umich.edu/software/fugu/

• A student made me aware of TextWrangler at http://www.barebones.com/products/textwrangler/– This is an editor, not an ssh client but

– It has support for remote file storing via ssh.

– I think it also has a HTML editing mode.

– My student was pleased with it.

Page 25: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

important rule• When you compose web pages, you use

winscp / textwrangler.• When you look at your own web pages, you

use a common web user agent.• Never use winscp to look at your own web

pages. You will not rot in hell, but you will be confused.

• Always open two windows and keep the open– one with a web browser– the other with WinSCP

Page 26: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

user name & password

• You can choose your user name as a short form of your own name.

• It should be all lowercases and can not have spaces.

• We will worry about that later.

Page 27: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

registration time • As part of the course, you are being provided with

web space on the server wotan.liu.edu, at the URL

http://wotan.liu.edu/~user

where user is a user name that you will chose now. • Your final project pages can be placed in a

subdirectory, say

http://wotan.liu.edu/~user/project• You may wish to make the user name some short

form of your name. Remember you will be able to have that site for many years to come.

Page 28: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

installing winscp

• http://winscp.net/eng/download.php has – “installation package”, for use if you have administrator

rights on the machine where you are installing to

– “application”, for use otherwise, i.e. to just download and run the application

• At installation time, when/if asked about the default interface, I suggest you use “Windows explorer style”, rather than the default “Norton commander style” . You can change that later.

Page 29: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

installing HTML-Kit

• There is free-to-download, but not open-source editor for HTML called HTML-Kit.

• It is useful to run it as a default editor for all files that are related to web development– HTML files

– CSS files

– PHP file (HTML with other stuff, for LIS651)• Instructions on how to do that are in

http://openlib .org/home/krichel/courses/lis650/doc/software.html

Page 30: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

other stuff: installing “user agents”

• Download and install a recent version of at least two browsers. I suggest– Mozilla Firefox from

http://www.mozilla.org/products/firefox/– Opera from http://www.opera.com– K-meleon from http://kmeleon.sourceforge.net/

• You can also get– Internet Explorer – Safari– Lynx – Konqueror

Page 31: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

open a wotan session with winscp• If you see a list of session, click on “new

session”.– The host name is “wotan.liu.edu”.– Give your user name.– Click on “save”, this will save the session, after “ok”.

• You will be lead to the list of saved sessions, double-click to open a session.

• At initial connection, you will be shown a warning message that you can ignore.

• When saving or duplicating files, you may be asked to enter your password again. Watch out for that.

Page 32: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

initial remote files on wotan• A set of files starting with a dot.Leave them

alone.• A directory called public_html

– This is the place where web masters exert their magic. You can go into that directory to see the files that you have on your web site at the moment.

– There should be two files• validated.html• main.css

– Do NOT double-click any file!

Page 33: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

HTML

• HTML is the hypertext markup language.• HTML is a markup language that is widely

used on the Web.• The latest, and probably last version of

HTML is version 4.01.• It is described at

http://www.w3.org/TR/html4/• Before we study HTML, we need to study

SGML and XML.

Page 34: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

SGML

• Standard Generalized Markup Language• Developed for the publishing industry by a

group of consultants around Charles F. Goldfarb, see http://www.sgmlsource.com/

• Markup is everything in a document that is not content. – what fonts there are– what the layout is – what graphics to use

Page 35: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

HTML XML SGML

• SGML was developed first. HTML and XML are developed from SGML in different ways.– HTML is an SGML DTD.– XML is an SGML application.

• Developed for the publishing industry by a group of consultants around C

Page 36: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

the SGML view of a document

• Descriptive approach with 3 separate layers– structure: types of information in document– content: the information itself– style: defines how to typeset the document

• So complicated that no software implements it fully.

Page 37: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

problems of SGML

• It has two important legacies–document type definitions–entities

• There are two important developments from SGML–XML, an SGML application–HTML, an SGML DTD

Page 38: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

XML• Since SGML is so complicated, it is not good for

use on the Web.• So the W3C has issued XML, the eXtensible

Markup Language.• Every XML document is SGML, but not the

opposite.• Thus XML is like SGML but with many features

removed. • XML defines the syntax that we will use to write

HTML. We have to study that syntax in some detail, now.

Page 39: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

Document Type Definition (DTD)

• The DTD is a non-SGML language that describes SGML document types. It describes– information elements that the document handles,

e.g.• title• chapter

– Relationships between information elements e.g.• A chapter contains sections.• A title comes at the top of the document.

Page 40: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

XHTML

• The W3C, the standard making body for the Web, have issued XHTML, a replacement of HTML that is compatible with XML.

• We will work with XHTML. But we will call it HTML by abuse of language.

• Some say that XHTML is a version of HTML.

Page 41: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

nodes

• “node” is a word used to characterize everything that can be put in the XML document.

• We will study the following types on nodes– character data– elements– attributes– comments– DTD declarations

• There are other types of nodes that we don't need to learn about here.

Page 42: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

node type: character data

• Character data is simply a sequence of characters.

• Examples

– “abec”

– “8 [[ + 2 ¼”• At the end of the lecture, we will discuss

character data again.

Page 43: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

node type: XML elements• XML is based on elements. There are basically

three ways of writing an element.• The first way is write <name/>.• Here name is the name of the element.• Such an element is called an empty element. • Example:

<bang/>• This is an empty element, the name of which is

“bang”.

Page 44: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

non-empty elements• If name is the name of the element, you can give

an element contents contents by writing <name>contents</name>.

• contents is often simple character data.• Here <name> is called a start tag. </name> is

called the end tag. Both tags surround the contents of the element.

• Remember the previous slide? Then note that <name/> is just a shortcut for <name></name>.

• Elements within other elements are called child elements.

Page 45: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

spot the difference

• <foo/> is an empty element with the name “foo”.

• </foo> is the closing tag of a non-empty element with the name “foo”. It can only appear in the document if there is an opening tag <foo> somewhere ahead of it.

• I know this notation is somewhat tricky. I can’t do anything about it.

Page 46: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

element & character data examples • <greeting>bonjour</greeting>• <greeting>здравствуйте</greeting>• <sentence>She says <greeting>hello</greeting>

to you.</sentence>• <menu><choice>Bibbelsches Bohnesupp mit

Quetschekuche</choice> or <choice> Dibbellabbes mit Abbeltratsch</choice></menu>

• <examples> <example>I koh Glos essa, und es duard ma ned wei.</example><example>Ja mogu esti staklo, i ne boli me. </example> <example>Kristala jan dezaket, ez det minik ematen.</example></examples>

Page 47: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

node type: attributes

• Elements can have attributes. Here is an empty element with an attribute

<name attribute_name="attribute_value"/>

• Here attribute_name is an attribute name and attribute_value is an attribute value.

• The element could have contents. Then it is written as <name attribute_name = "attribute_value"> contents</name>

Page 48: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

several attributes• Elements can have several attributes. Here is an

element with two attributes

<name attribute_name_one="value_one" attribute_name_two="value_two"/>

• Here attribute_name_one and attribute_name_two are attribute names and value_one and value_two are attribute values. The element itself is empty.

• Example: <greeting language="fr" formal="no">bonjour</greeting>

Page 49: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

more on attributes• Attribute names are separated from their values

by the = sign. The equal sign can be surrounded by whitespace.

• Attribute values can be enclosed in single or double quotes. It does not matter. Double quotes are more common, so I suggest you use those.

• There can be no two attributes to the same element with the same names. So you can not have something like <trafficlight color="red" color="green"/>.

Page 50: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

more on attributes• Attribute values are simple strings. You can not

have an element inside an attribute value. Thus you can not write, for example <meal type="<cookie/>">chocolate</meal>

• An attribute must have a value, e.g. you can not write <result abstract>... </result>.

• The value may be empty like in <result abstract=''>...</result> or <result abstract="">... </result>.

• You should have whitespace around consecutive attributes eg <a href="b.html" class="ext"/> instead of <a href="b.html"class="ext"/>

Page 51: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

more examples

<poet born="1799" died="1837">

<name lang="ru">Александр Сергеевич Пушкин</name>

<name lang="en">Alexander S. Pushkin</name>

<name lang="fr">Alexandre Pouchkine</name>

</poet>

Page 52: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

node type: comments

• In an XML document, you can make comments about your code. These are notes to yourself.

• Comments start with <!--• Comments end with -->• Example: <!-- this is a comment --> • Comments can not be nested.• Can appear anywhere in the document.• They can enclose elements.

Page 53: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

node type: DTD declaration

• XML documents, like any SGML documents, accept document type declarations.

• A document type declaration tells us something about the vocabulary of elements and attributes used in the document.

• It should appear before the root element, after the XML declaration, if you have one.

• It takes the form <!DOCTYPE gobbledygook >• We will come back to the document type

declaration later.

Page 54: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

XML document

• An XML document is a piece of data that is written in XML.

• But sometimes the author of a document makes a mistake, and, in fact the XML is wrong in some ways.

• If there is no mistake, the document is called well-formed.

• If a document is not well-formed, it really is not an XML document.

Page 55: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

some rules for well-formedness

• All elements must be properly nested. You can only close the outer element after all inner elements are closed. Examples– <a><b></a></b> not well-formed– <a><b></b></a> well formed

• An element that is nested inside another element is called a child of that element.

Page 56: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

more rules for well-formedness • There must be one single element in the document

that all other elements are children of.– It is called the root element.– All other elements are called children of the root.

• Whitespace that surrounds the root element is ignored.

• The root element may be preceded by a prologue. This is anything before the root element.

• The DTD declaration can only appear in the prologue.

Page 57: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

XML example file: validated.html

• This is an XML file.• Look at it through the "view source" feature of your

user agent. • Please look at it to find all the node types.• Examine how the well-formedness constraints are

implemented. • Make sure you understand every aspect of its

syntax.

Page 58: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

copying validated.html• validated.html is your model web page. • To create a new web page, right click (remember

never double-click) on validated.html, and choose "duplicate" from the menu. Do not choose "copy".

• You will be asked to supply a name for the file. Erase any contents in the dialog box, and then enter the file name you want to create (say test.html). Always have that file name end with ".html".

• You may be asked to give your password again.• Did I say you should not double-click in winscp?

Page 59: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

test.html

• In your test.html file, look for the

<p id="validator">• Right before that string, insert

<div>Hello, world!</div>• Save your file.• Do not double click test.html !• Open a web user agent, point it to the URL

http://wotan.liu.edu/~user/test.html where user is your user name.

Page 60: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

public_html• Imagine you are user user and you have a file

file in public_html.• The web server will map requests to

http://wotan.liu.edu/~user/file to show the file /home/user/public_html/file.

• Here user stands for your user name, and file is the file name, and "/" is the directory separator.

Page 61: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

Web page and MIME type

• If file ends with ".html" the web browser will be told that the file is a HTML file. This is done using the MIME type text/html.

• Therefore you should give all HTML files the extension ".html".

• Only when the user agent knows that the pages is a web page it will be rendered accordingly by the browser.

Page 62: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

index.html• The web server on wotan will map requests to

http://wotan.liu.edu/~user/ to show the file /home/user/public_html/index.html

• If this file is not there, the server prepares a HTML document from the list of files that it finds in the directory. Then it sends it to the user agent.

• Once you have a file index.html, the web user can no longer see the individual files in your directory.

Page 63: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

characters: concept

• A character set combine two things– Character repertoire: a set of characters e.g.

"A", "ض" "‼", "₣"– Character code positions: defines a number

for each character in the repertoire. • Character encoding is a way to encode the code

positions in bytes.• To correctly display a document, the user agent

needs to know both!

Page 64: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

playing safe with characters

• Only use the characters on the US keyboard, don't insert symbols.

• Save as ASCII or UTF-8. All ASCII files are also UTF-8 files.

• Never save as "Unicode" within MS Notepad.• If you encounter a character that is not on your

keyboard, use an SGML entity.• The SGML entity is the last special SGML thing

that we have to study.

Page 65: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

SGML entities

• SGML entities are something like a way to represent non-ASCII characters when only ASCII input is possible.

• Codes can can be &code;– Example: “&eacute;” represents an “é”.– This is called a character entity.– Codes are often abbreviation of the character

names. • Codes can be in hex number form

– Example: &#38; to insert an ampersand.– This is called a numeric entity.

Page 66: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

XHTML entities• They are officially defined in three files that

are maintained by the W3C– http://www.w3.org/TR/xhtml1/DTD/xhtml-

lat1.ent– http://www.w3.org/TR/xhtml1/DTD/xhtml-

special.ent– http://www.w3.org/TR/xhtml1/DTD/xhtml-

symbol.ent

Page 67: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

sample entity declaration

• Example <!ENTITY ccedil "&#231;">

<!-- latin small letter c with cedilla, U+00E7 ISOlat1 -->

• All this is DTDeese– <!ENTITY is DTD speak for defining an entity.– It is followed by the character form and the

numeric form of the entity.– The rest of the line is a comment, of course.

Page 68: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

important entities used in XML• There are three that you need to know and

use.– &lt; stands for <– &gt; stands for > – &amp; stands for &– &quot; stands for "– &nbsp; makes a non-breakable space

Page 69: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

practical consquences

• Every time you want to insert <, > or & in the documents, you have to use the entities instead.

• Examples:– krichel&#64;openlib.org – Je suis

Fran&ccedil;ais.– Marks &amp; Spencers – 3 &lt; 4

Page 70: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

other example

• Look at http://wotan.liu.edu/home/krichel/courses/lis650/ examples/xml/gradesheet.xml.

• First consider the rendered version as it appears in the browser. It illustrates the type of XML data file that Thomas uses to compose his grades and feeds them into the computer. It is well-formed XML.

• Second, consider the source code of the web page. Why are there all these &lt; and &gt; ?

Page 71: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

special topic: images

• The appeal of the web to the masses has a lot to do with its capability to transport image.

• Image formats are independent of the web, but there are two classic format that are widely supported by user agents.– GIF– JPEG– PNG

• The resolution of the image is an important factor.

Page 72: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

resolution

• On a pixel image the term resolution is often used to say how many pixels are there horizontally and vertically.

• The larger the number of pixels the wider it will appear on the screen.

• But you will never know how large it is on the screen because that depends on how many pixels your user's screen draws per inch of display.

• The web is a bad place for control freaks.

Page 73: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

GIF

• stands for graphics interchange format. • developed by CompuServe.• unresolved copyright issues make the format

abhorred by the free software community.• 250 colors maximum• uses a loss-less compression technique

Page 74: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

GIF has three tricks• interlacing

– when downloading the file, the browser can show every forth row first

• transparency– some GIFs are transparent, so you can see them

on top of already exist– technically, the GIF has one color as the

background color. Pixels of that color are ignored by the user agent

• animation– some GIFs are in fact sequences of GIFs that can

be rendered one after the other.

Page 75: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

JPEG

• The Joint Photographic Experts Group is a standard-making body for images

• They can support thousands of colors.• The compression is lossy, i.e. the JPEG file will

look like the original image, but not be the same.• The compression does not work well with

drawings. • There are no copyright and patent problems with

JPEG

Page 76: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

Portable Network Graphics

• This is W3C's answer to GIF.

• It has a lossless compression.

• It compresses better than GIF, but not a whole lot better.

• It is free of patent problems.

• It supports interlacing.

• It has no support for animation.

Page 77: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

Homework

• Look at course home page.

• Install winscp and browsers at home.

• Prepare a one-page max web site plan. Bring a printed copy with you next week.

• Prepare for quiz at the beginning of next lecture.

Page 78: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

web site plan

• What is the intent of the web site?

• Who commissioned the web site?

• Whom is the site for?

• What pages will be on the site?

– Name and very briefly describe each page.

– Establish link structure between pages.

• Any special technical challenges?

Page 79: LIS650lecture 0 Introductory lecture Thomas Krichel 2007-01-28.

http://openlib.org/home/krichel

Please shutdown the computers when

you are done.

Thank you for your attention!