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 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 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 Forms-Based Editor Pinpoint Searching Special-purpose search engine tailored to DTD Information processing engine Pinpoint Searching 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