250 likes | 386 Views
XML-Based Course Websites Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute of Technology. Introduction: Background. My interest is in search engines XML promises the development of powerful search engines Placed CSSE course descriptions into XML
E N D
XML-Based Course WebsitesMichael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute of Technology
Introduction: Background • My interest is in search engines • XML promises the development of powerful search engines • Placed CSSE course descriptions into XML • Wrote a search engine for them • Realized that editors are easy • Have to rely on other people to provide contents
Introduction: Benefits of XML • Separation of form and contents • Common information can be placed into separate files • Webpages of the same kind are rendered in the same way
Introduction: XML in comparison • Benefits of courseware products: • Ease of use • Integration with other systems • Drawbacks of courseware products: • Formatting and functionality are as provided
Introduction: XML in comparison • Benefits of direct editing: • Complete control over appearance and contents • Drawbacks of direct editing: • A lot of work formatting contents
Introduction: XML in comparison • XML promises to share some of the benefits of both: • Complete control over appearance and contents • Ease of contents creation and maintenance • Additional benefit of XML: • Powerful search engines
XML: The Technology • Three technologies in one: • DTD • XML document • XSL stylesheet
XML: XML Documents • XML documents contain elements • An element consists of an opening and closing tag • Elements are nested • Element names describe contents • Elements are not used to format documents
XML: XML Documents • Example: <course_description> <id>CSSE 100</id> <title>Introduction to Programming and Problem Solving </title> </course_description>
XML: XML Documents • Design your own element structure by defining a DTD • Use someone else’s DTD
XML: DTDs • A DTD defines a class of documents • A DTD specifies: • Elements of the document • Attributes of elements • Order and nesting of elements • Whether elements are necessary
XML: XSL Stylesheets • Used to transform an XML document into an HTML document • XML documents specify which XSL stylesheet is to be used. • Web-browser receives XML document and then requests XSL stylesheet
XML: XSL Stylesheets • Uniform appearance of classes of documents: use same stylesheet • Stylesheet has to be edited just once • Separation of form and contents • Content providers focus on providing contents
XML: XSL Stylesheets • They are complex • Determine order of presentation • Leave out information • Limited amount of processing, e.g. fill in missing information
XML: XSL Stylesheets • Combine information from several documents • Minimize repetition of information, by placing common information into separate documents • Ensures consistency of information • Reduces amount of nuisance editing
Editing • Separation of form and contents greatly aids in editing • Contents providers do not have to be concerned about formatting • Three ways to edit an XML document: • Edit a template (good) • Copy and edit another document (better) • Use a forms-based editor (best)
Forms-Based Editor • A web-page with text-fields for XML elements • Customized to DTD • Straight-forward to provide • Possible to auto-generate
Pinpoint Searching • Special-purpose search engine tailored to DTD • Information processing engine
Experience with the Technology • Course description editor is easy • Tested syllabus editor on 20 students • Editor works well for structured XML documents • HTML can be added and is properly rendered • Preview of documents is being added
Experience with the Technology • Tested course descriptions search engine on 30 students • One side of classroom used our XML search engine, other side used Google, restricted to RHIT • Asked a variety of questions, some favored ours, some favored Google, and some were neutral
Experience with the Technology • “Which courses can I take if I passed CSSE230?” favored XML search • “What are the required CS courses for a CS major?” favored Google • “What programming languages are used in the CS curriculum?” favored neither • XML searchers turned in their results before Google searchers
Future Work • General purpose search engine • DTDs for course materials