David, I think you're doing this the wrong way round,
Why use XML at the 'raw' stage? Why not use plain text in a database and
query data directly from your script?
I've done this on http://www.mcqs.com/mysql/
feel free to query this database using your own scripts,
you can create your own combinations by querying different tables, in this
way you may create an infinite number of questions,
I've put the components of each MCQ into tables in a mySQL database and
query it using PHP (you may use PERL if you want, contact me for details),
you could add your XML/HTML/WML tags at your end if you want, make sure you
strip or replace any tags before doing this,
here's how I've done it (to see it in action go to http://www.mcqs.com and
log into the PLAB COURSE using plabcourse as username and password )
I've created the following tables
table sets3 - this stores several strings each of which are 60 characters
long, each character corresponds to a 'combination'
table combinations3 - this stores fields that contain the data of each
question -> stores question number, ten option numbers , the correct answer
table question3 - contains the actual text corresponding to each question
table options3 - contains the actual text corresponding to each question
table explanations3 - contains the actual text corresponding to each
table mrcp_members - contains the returned email, answer string and date of
each attempted quiz
In other words,
the student logs in using his email as username,
he is assigned a random set number,
this set number is used to retrieve a 60 field array of numbers from table
this array is read sequentially, each field corresponds to a particular row
from table combinations3,
each row is retrieved from table combinations3 and the corresponding
question, options, answer and explanations are read
these numbers are used to retrieve specific text from tables questions3,
these are written to the page ,
the students' answers are recorded in a session and stored in a 60 character
long string and he is graded on the spot,
the set number, answer string, student email and date are written to table
called mrcp_members and the student is returned to the home page,
I've also built a 'profile' page where each student may log in
and retrieve his past performances from table "mrcp_members" ,
the script should builds a list of past performances for that particular
student, including bar charts etc , comparing his performance to the average
I have also built an adminstrator interface so that tutors would easily
insert questions, options and answers from a user friendly form, at the
moment I am personally entering data manually using phpmyAdmin on
using this system tutors are able to create new combinations and new sets
matching data already on the database and are search options so
that the tutor would be able to retrieve specific
[log in to unmask]
----- Original Message -----
From: David Davies <[log in to unmask]>
To: <[log in to unmask]>
Sent: Friday, March 16, 2001 5:39 PM
Subject: XML, resource discovery and MCQ sharing
> OK, it's Friday afternoon, here's one of those end of week kind of things.
> In my previous post, I asked about using XML to share resources such as
> MCQs, including the possibilities of using resource discovery as a means
> facilitate that.
> Here's a URL to start the discussion:
> The result is an XML RSS file, the kind of data file that syndication
> such as My Netscape and My yahoo use. It's not IMS compliant.
> What it does do however is indicate which MCQs on a public database I'm
> running match your query term. The RSS file is by definition not an
> interchange format, merely a route whereby you might discover a resource,
> MCQ in this case, that matches your requirements. You can put anything
> the ? in the URL so long as it's URL encoded e.g. spaces become %20.
> However, in this demo, you won't find many questions! Stick with the heart
> conduction system link. If you insist, try 'respiratory'.
> Issues I think this raises:
> 1. You can use XML in more ways than merely interchange.
> 2. The URL contains a query 'heart conduction system' that is actually
> of a well defined biomedical meta data name space, Medical Sub-Headings
> (MeSh). Such meta data can facilitate resource discovery.
> 3. 'Ownership' of the resource remains with the originator i.e. the RSS
> in this case merely links to the question on my server. In no way have I
> 'given' you my resource. You can however use the link to embed this MCQ
> a page you are creating. This has interesting implications for resource
> sharing, perhaps?
> So OK, I've started the discussion. What are other's views on this? Let's
> have some debate on these lists rather than just notices.