ect 360 introduction to the class prof. robin burke ect 360 winter 2004
TRANSCRIPT
ECT 360Introduction to the Class
Prof. Robin Burke
ECT 360
Winter 2004
Outline
Introductions Course and Syllabus XML XHTML Homework #1
Introductions
Student information sheet
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/
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
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
Course cont'd
Six homework assignments Midterm 2/2 Final project Allocation
Homework – 40%Midterm – 30%Final project – 30%
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
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
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
Discussion enhancement
Card distribution
XML
eXtensible Markup Language Misnomer
Not a languageTechnology for creating languages
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?
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
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
Benefits
If design changes, only stylesheet is affected
Different pages / displays can be generated from the same content
Designer and author need not interact
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
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
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 ...
Note
Structure determined by needs of applicationAny number of sectionsAny number of meetings
Other design choices could be madeseparate components of course
number
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">
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 <?
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
Document tree
Document is just one form of XML More useful for computation
Tree representation
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]
Tree
Nodeselementstext nodes
Attribute lists
Paths
A path traverses the tree XPath provide syntax for tree traversal Example
/section[2]/meeting[1]/day/
Transformation
XML transformations change the XML treeaddingdeletingchanging contents
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
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
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
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
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
Benefits of XHTML
XMLdecouples data from application
XHTMLdecouples content from stylefor web documents
Modularity = More pieces
HTMLdocument
Web browser
XMLdata
XHTMLdocument
Web browser
XSLTstylesheet
CSSstylesheet
More pieces = More flexibility
XMLdata
PDFdocument
XSL-FOstylesheet
XMLdata
SVGgraphics
XSLTstylesheet
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
Example
HTML XHTML conversion Validation
on-line validator
Assignment #1
Convert a file to XHTML Use the online-validator Due
before class time next weeksubmit to COL