Transcript Document

MyLibrary@hand : Enhancing Our Library Services By KM Ku and Dave Low University of Hong Kong Libraries

Searching with your Palm...

Why PDA delivery option?

• Libraries are in the information collection and distribution business • We spend 27% of our collection development budget annually on electronic forms of information • But just owning the information is worthless unless we can distribute it to our faculty and students.

• But because Hong Kong is a wireless society, with 83.5% of its citizens using a mobile phones, we decided that we should provide our students and faculty with access to our information resources using hand-held devices

We begin with Palm because

• There are already large numbers of educational databases that have been adopted to PDA use • The Tungsten C is wireless and it can take advantage of the technology already in place at HKU • They were enthusiastic about wanting to partner with us to develop HKU Libraries-specific software

Wireless Hot Spots – the trend

Source: PC Magazine, Sep 16, 2003 , p.25.

• MyLibrary@Hand - Launched 6 Oct 2003 • HKU Libraries partners with PalmOne, Syracuse International (

donated software

) and Sun Microsystems (

donated server

).

• Hong Kong’s first wireless LAN enabled Palm handheld solution to access library resources and services .

Where to go wireless?

• Over 200 Wireless access points have been installed on campus.

• 22 Wireless access points have been installed inside the Main Library

Wireless Access Point Within 70 m range

How to go wireless?

• Use a Tungsten C

Searching with your Palm...

HK’s first Wireless Westlaw service

• Searching of Dragon by using the Palm’s web browser

Gecko: PDA version of Dragon

Enjoy the Wireless Services

• Mobile Gate – Gateway to get library information • Searching – E-form, access and search Dragon (library catalogue) and other databases

Mobile Gate

Library information anytime anywhere

Who to contact at a glance

Mobile Gate

Searching with your Palm...

Prepare Offline Submit Online Read Offline

You can prepare your requests well in advance before you access an Internet wireless hotspot . Libraries Online Information

You can search statement in Dragon, HKUL catalogue. You can choose to search in a specific field, e.g. author, title Libraries Online Information

Search articles on a topic across several databases.

Libraries Online Information

Select your subject discipline for alert services on any new publications. Libraries Online Information

Once you are within an Internet wireless hotspot, submit your completed e forms and search queries by tapping on

Submit Pending Request

. Libraries Online Information

Getting the results

The search results will be displayed for viewing at your palm.

Libraries Online Information

Implementation of One Stop Search by XSLT

Agenda

• Flow of One Stop Search • Reason to use Extensible Stylesheet Language Transformation (XSLT) • Difficulties on implementation of One Stop Search by XSLT • Our solution • Our implementation • Summary

Flow of One Stop Search

1. Capture the search keyword 2. Issue the search to different search engines 3. Collect the result and click on next button until we got all the records 4. Compile the search results from different search engines 5. Present the result to the user

Flow of One Stop Search

One Stop Search ProQuest Science Direct Kluwer Online Capture Keyword Search and next Search and next Search and next Compile Result Present Result

Reason to use XSL

• Simple – XSL is plain text • Multiplatform – Can run on any machine with XSLT Engine • Easy to maintain – When the output layout of target search engine change • Just change the content of XSL file • No recompilation is needed

Two main problems when using XSL

1. XSLT engine requires well formatted XML files as input – Web based search engine output in HTML only – HTML is not well formatted XML • • HTML allows open tag only for some tags E.g.

Solution

1.

Use HTML tidy (http://tidy.sourceforge.net/) to – convert HTML to well-format XML “ A HTML syntax checker and pretty printer. It can be used as a tool for cleaning up malformed and faulty HTML. In addition, it provides a DOM interface to the document that is being processed, which effectively makes you able to use it as a DOM parser for real-world HTML ” – – It is open source It has many implementations such as Java, Perl and Python

Solution

• Sample code in Java StringReader strReader = new StringReader(html); Tidy tidy = new Tidy(); return tidy.parseDOM(strReader, null); • HTML => XML

Two main problems when using XSL

2. There is no browse function in XSL – In one-stop search, we need to click the next button several times to collect all the result – We need to tell the program to find the next button and then issue a browse request based on the URL of the next button

Solution

2. Add browse function to XSL by XSL extension – XSLT allows two kinds of extension, extension elements and extension functions – Type of extension depends on XSLT implementations – Detail can be found http://www.w3.org/TR/xslt#extension

Solution

• Our implementation – Select a java based XSLT Engine – Use java to write the function – Compile it into classes and then jar – Include the jar file into the classpath of the XSLT Engine – Run it

Sample code on XSL extension

Define Class

to be used

xmlns:HKUL="http://www.lib.hku.hk/java/hkul.apps.web.Browser" exclude-result-prefixes="HKUL"> http://www.lib.hku.hk/

Crea te it

Call the

browse function

Our Implementation

Browse Next Tidy Parse Result

Our Implementation

• Both client and server programs are written by Java • Client and server program communicated by HTTP • Making use of wireless network

Our Implementation (Client side)

• Palm OS – Sun ’ s Java 2 Platform, Micro Edition (J2ME) http://java.sun.com/j2me/ – Mobile Information Device Profile (MIDP) http://java.sun.com/products/midp

Our Implementation (Server side)

• Application Server (Running on Sun Solaris with JDK1.4) – Jakarta Tomcat (http://jakarta.apache.org/tomcat) – Jakarta Struts Framework (http://jakarta.apache.org/struts) • Xerces XSLT Engine (http://xml.apache.org/#xerces) • MySQL database (http://www.mysql.com)

Summary

• Implement the one stop search by XSLT – Simple – Multiplatform – Easy to maintain • Two problems – HTML is not well formatted XML – No browse function in XSL

Summary

• Solutions – HTML Tidy – XSL Extension • Implementation – J2ME – Jakarta Tomcat + Struts – Xerces – MySQL

Questions?

• Thank you