![Page 1: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/2.jpg)
Outline
Introductions Course and Syllabus XML XHTML Homework #1
![Page 3: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/3.jpg)
Introductions
Student information sheet
![Page 4: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/11.jpg)
Discussion enhancement
Card distribution
![Page 12: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/23.jpg)
Entities
Special characters Certain characters part of the language Need a way to indicate these
• < <
Entities can be defined as part of a document type useful for inserting standard text ©right; might insert a standard copyright
notice
![Page 24: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/25.jpg)
XML Tree
course
number sectionnamesection,etc
TEXT"Introduction
to XML"
TEXT"ECT 360"
section-number
instructor
instructor-name
schedule meeting
day time duration room
address="[email protected]
![Page 26: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/26.jpg)
Tree
Nodeselementstext nodes
Attribute lists
![Page 27: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/28.jpg)
Transformation
XML transformations change the XML treeaddingdeletingchanging contents
![Page 29: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/38.jpg)
Example
HTML XHTML conversion Validation
on-line validator
![Page 39: ECT 360 Introduction to the Class Prof. Robin Burke ECT 360 Winter 2004](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649d145503460f949e8143/html5/thumbnails/39.jpg)
Assignment #1
Convert a file to XHTML Use the online-validator Due
before class time next weeksubmit to COL