ect 360 introduction to the class prof. robin burke ect 360 winter 2004

39
ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Upload: bertha-clark

Post on 18-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

ECT 360Introduction to the Class

Prof. Robin Burke

ECT 360

Winter 2004

Page 2: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Outline

Introductions Course and Syllabus XML XHTML Homework #1

Page 3: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Introductions

Student information sheet

Page 4: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Administrativa

Contacting me CS&T 453 x 25910 [email protected]

Questions Try the course discussion forum Automatically mailed to all students I will also post announcements here

Course web site http://josquin.cs.depaul.edu/~rburke/

courses/w04/ect360/

Page 5: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

About Me

2nd year at CTI PhD in AI, 1993 Research

AI applications in E-Commerce"smart catalogs"

Taught web development since 1996 What I hope to get out of teaching this

class

Page 6: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Course

Introduction to XML concentrate on XML's uses for the web many other uses!

Three parts XML itself Display of XML = XML style

• CSS / XSLT

XML applications• XML languages for specific tasks

Page 7: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Course cont'd

Six homework assignments Midterm 2/2 Final project Allocation

Homework – 40%Midterm – 30%Final project – 30%

Page 8: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Grading

Three Components Knowledge

Does the work display correct technical knowledge? Reasoning

Does the work indicate good problem-solving skills? Communication

Written work: Is the answer well-written English? Code: Does the answer display good coding /

documentation style

Page 9: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Grading, cont'd

A = Excellent work Thorough knowledge of the subject matter Well-considered and creative solutions Well-written answers Employment of impeccable coding style

B = Very good work Complete knowledge of the subject matter No major errors of reasoning in problem solutions Competent written answers Readable coding style

C = Average work Some gaps in knowledge of subject matter Some errors or omissions in problem solving Written answers may contain grammatical and other errors Coding may be stylistically awkward

D = Below average work Substantial gaps in knowledge of subject matter. Problem solving incomplete or incorrect Poor English in written answers Ineffective coding style

Page 10: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Resources

TextCarey, P. New Perspectives on XML

(Comprehensive). Thomson Learning Tools

XML Spy• 4.3 included with book

XML Spy Enterprise 2004• available in 6th floor lab

Page 11: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Discussion enhancement

Card distribution

Page 12: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

XML

eXtensible Markup Language Misnomer

Not a languageTechnology for creating languages

Page 13: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

XML

Looks a little bit like HTML But with a wide variety of tag names Reason

HTML and XML have a common ancestor• SGML

Developed for entry and management of very large documents

Why do we need XML?

Page 14: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Web publishing with HTML

Develop content Determine how content should be displayed

on pages Encode content in HTML Content available to users Problem

what happens when content changes• design decisions must be rethought

what happens when design changes• HTML must be rewritten

designer and author must work closely

Page 15: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Web publishing with XML

Develop XML application for content Develop content Content encoded in XML Design pages Write stylesheet to render pages in

HTML Content available to users

Page 16: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Benefits

If design changes, only stylesheet is affected

Different pages / displays can be generated from the same content

Designer and author need not interact

Page 17: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Big picture

Modularity is a good thing decoupling of data's structure from its use in

a particular application lowers effort of repurposing data

Modularity requires standards non-application specific data representation

• not in the interest of any application vendor

XML is the language in which such standards can be expressed

Page 18: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

XML applications

Purpose-specific languages that conform to the XML standard

Many are standardized XHTML, SVG, RDF, SOAP, SMIL, WML, etc.

In-house languages easy to develop XML is becoming the default choice for data

storage format MS Office 2003

Page 19: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Example: Course

<?XML version="1.0"?><!DOCTYPE course SYSTEM "course.dtd"><course>

<name>Introduction to XML</name><number>ECT 360</number><section>

<section-number>801</section-number><instructor> <instructor-name>Robin Burke</instructor-name> <email address="[email protected]" /></instructor><schedule><meeting> <day>Monday</day><time>5:45 pm</time> <duration>3:15</duration><room>Lewis 1508</room></meeting></schedule>

</section>... see full example ...

Page 20: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Note

Structure determined by needs of applicationAny number of sectionsAny number of meetings

Other design choices could be madeseparate components of course

number

Page 21: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

The rules of XML

Documents consist of elements, attributes and content (and a few other things)

Elements are set off by tags in angle brackets start tag for element foo <foo> end tag for element foo </foo>

Anything in between the start tag and end tag is element content

Attributes are additional data associated with an element indicated by name/value pairs inside the start tag

• <foo bar="2">

Page 22: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

More rules

Comments enclosed by special character sequence <!-- -->

Document prolog before the first element contains declarations typically

• declare that it is xml• declare the relevant document type

Processing instructions information that the XML parser doesn't use passed along to the application Special tag <?

Page 23: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Entities

Special characters Certain characters part of the language Need a way to indicate these

• &lt; <

Entities can be defined as part of a document type useful for inserting standard text &copyright; might insert a standard copyright

notice

Page 24: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Document tree

Document is just one form of XML More useful for computation

Tree representation

Page 25: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

XML Tree

course

number sectionnamesection,etc

TEXT"Introduction

to XML"

TEXT"ECT 360"

section-number

instructor

instructor-name

email

schedule meeting

day time duration room

address="[email protected]

Page 26: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Tree

Nodeselementstext nodes

Attribute lists

Page 27: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Paths

A path traverses the tree XPath provide syntax for tree traversal Example

/section[2]/meeting[1]/day/

Page 28: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Transformation

XML transformations change the XML treeaddingdeletingchanging contents

Page 29: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Well-formed vs valid

A well-formed document is one that obeys the syntactic rules it can be parsed <foo bar="2"><baz>thud</baz>&zap;</foo>

well-formed document A valid document has been validated

against some standard what is the entity zap? is baz a legal subelement for foo? unknown without a definition for foo

Page 30: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

XML Validation

Validation is the process of checking an XML document against a standard

Different languages for defining such standardsDTD – document type definitionXML SchemaRELAX NGothers

Page 31: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Document type

The document type specifies the legal structure of the XML documentorder, contents of elementslegal attributes and default valuesetc.

Designing a document type means deciding what data will be stored and how

Page 32: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

HTML

HTML is not XML-compliant XML is case-sensitive

HTML is not XML requires quotes around attributes

HTML optional XML requires end tags

Optional in some cases for HTML XML requires /> syntax for empty elements

HTML does not

Page 33: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

XHTML

Latest HTML standard Makes HTML XML-conformant Different flavors

Transitional• allows style information as part of the document

(align attribute) Frameset

• allows frames Strict

• no frames, no style attributes• assumes use of a stylesheet for rendering

Page 34: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Benefits of XHTML

XMLdecouples data from application

XHTMLdecouples content from stylefor web documents

Page 35: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Modularity = More pieces

HTMLdocument

Web browser

XMLdata

XHTMLdocument

Web browser

XSLTstylesheet

CSSstylesheet

Page 36: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

More pieces = More flexibility

XMLdata

PDFdocument

XSL-FOstylesheet

XMLdata

SVGgraphics

XSLTstylesheet

Page 37: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Converting to XHTML

No sloppiness tags must nest end tags everywhere quotes on attribute values remove deprecated elements / attributes

• replace with style XML-specific

/> for empty elements• like img

declarations• xml• doctype• namespace

lowercase

Page 38: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Example

HTML XHTML conversion Validation

on-line validator

Page 39: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004

Assignment #1

Convert a file to XHTML Use the online-validator Due

before class time next weeksubmit to COL