Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science...

Preview:

Citation preview

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 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 ofprojects 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-orientedsoftware 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

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

Forms-Based Editor

Syllabus Editor Demo

Syllabus Editor Demo

Syllabus Editor Demo

Syllabus Editor Demo

Syllabus Editor Demo

Syllabus Editor Demo

Pinpoint Searching

• Special-purpose search engine tailored to DTD

• Information processing engine

Pinpoint Searching

Syllabus Search Demo

Syllabus Search Demo

Syllabus Search Demo

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

Recommended