experience with an xml- based syllabus editor and search engine michael wollowski computer science...
Post on 19-Dec-2015
214 views
TRANSCRIPT
![Page 1: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/1.jpg)
Experience with an XML-Based Syllabus Editor and
Search Engine
Michael Wollowski
Computer Science and Software Engineering Department
Rose-Hulman Institute of Technology
![Page 2: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/2.jpg)
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
![Page 3: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/3.jpg)
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
![Page 4: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/4.jpg)
XML: The Technology
• Three technologies in one:
– DTD– XML document– XSL stylesheet
![Page 5: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/5.jpg)
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
![Page 6: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/6.jpg)
XML: XML Documents
• Example:
<course_description>
<id>CSSE 100</id> <title>Introduction to Programming and Problem Solving
</title>
</course_description>
![Page 7: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/7.jpg)
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>
![Page 8: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/8.jpg)
XML: XML Documents
• Design your own element structure by defining a DTD
• Use someone else’s DTD
![Page 9: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/9.jpg)
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
![Page 10: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/10.jpg)
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
![Page 11: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/11.jpg)
XML: XSL Stylesheets
![Page 12: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/12.jpg)
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
![Page 13: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/13.jpg)
XML: XSL Stylesheets
• They are complex
• Determine order of presentation
• Leave out information
• Limited amount of processing, e.g. fill in missing information
![Page 14: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/14.jpg)
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
![Page 15: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/15.jpg)
Structural Overview of Documents
Syllabus
Course Description
Departmental Information
![Page 16: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/16.jpg)
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>
![Page 17: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/17.jpg)
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)
![Page 18: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/18.jpg)
Forms-Based Editor
• A web-page with text-fields for XML elements
• Customized to DTD
• Straight-forward to provide
• Possible to auto-generate
![Page 19: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/19.jpg)
Forms-Based Editor
![Page 20: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/20.jpg)
Syllabus Editor Demo
![Page 21: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/21.jpg)
Syllabus Editor Demo
![Page 22: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/22.jpg)
Syllabus Editor Demo
![Page 23: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/23.jpg)
Syllabus Editor Demo
![Page 24: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/24.jpg)
Syllabus Editor Demo
![Page 25: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/25.jpg)
Syllabus Editor Demo
![Page 26: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/26.jpg)
Pinpoint Searching
• Special-purpose search engine tailored to DTD
• Information processing engine
![Page 27: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/27.jpg)
Pinpoint Searching
![Page 28: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/28.jpg)
Syllabus Search Demo
![Page 29: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/29.jpg)
Syllabus Search Demo
![Page 30: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/30.jpg)
Syllabus Search Demo
![Page 31: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/31.jpg)
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
![Page 32: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/32.jpg)
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
![Page 33: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/33.jpg)
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
![Page 34: Experience with an XML- Based Syllabus Editor and Search Engine Michael Wollowski Computer Science and Software Engineering Department Rose-Hulman Institute](https://reader030.vdocuments.us/reader030/viewer/2022032800/56649d375503460f94a1003a/html5/thumbnails/34.jpg)
Future Work
• General purpose search engine
• DTDs for other course materials