340 likes | 476 Views
Experience with an XML-Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute of Technology. RHIT/CSSE. Small engineering school Students expect the use of technology: e-mail web newsgroups online gradebook
E N D
Experience with an XML-Based Syllabus Editor and Search EngineMichael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute of Technology
RHIT/CSSE • Small engineering school • Students expect the use of technology: • e-mail • web • newsgroups • online gradebook • RHINO • Not interested in online instruction • Interested in use of technology to facilitate learning
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 • Ease of editing • Pinpoint searching
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 <?xml version="1.0"?> <!DOCTYPE course_description SYSTEM "course_description.dtd"> <?xml-stylesheet type="text/xsl" href="course_description.xsl"?> <course_description> <id> CSSE 120</id> <title> Fundamentals of Software Development I </title> <credits> 3R-3L-4C F,W,S </credits> <description> This course develops problem solving skills and introduces both fundamental concepts of computer science and current practices of object-oriented software development. Students complete a series of projects requiring the choice of appropriate algorithms and the use of procedural abstraction, control constructs, and elementary data structures. The projects explore current practices of object-oriented software development, such as multi-threaded event-driven programming, the development of graphical user interfaces, and interaction among objects. Students complete some projects individually, some in small groups, and one in a challenging multi-week team project. The use of a disciplined design process is emphasized in each of the projects, including good programming style and thorough testing. This course presumes no prior programming experience. </description> </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
Structural Overview of Documents Syllabus Course Description Departmental Information
Department.xml file <?xml version="1.0"?> <!DOCTYPE departmental_information SYSTEM "department.dtd"> <departmental_information> <institution> Rose-Hulman Institute of Technology</institution> <department> Computer Science and Software Engineering Department </department> <term> Fall</term> <year> 2002/3</year> </departmental_information>
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 other course materials