Posts Tagged ‘xml’
XML draft and Sending of Scores
MyMathventures, WEdGE, Pitch Paradise, KineSpell2 and I discussed what we should do with our XML. We’ve decided to separate the necessary game info as needed by the PSPortal group from the game data. We’ve commented all optional tags so that PSPortal can distinguish the differences between games. MyMathVentures also finished the sending of xml data to the portal, thus, we can reuse this module for all our games.
* Note that all optional tags can be omitted by other games.
<WSG_EDUGAME name=" " version = " ">
<GAME_NAME> gameName </GAME_NAME>
<VERSION> game_version </VERSION>
<PLAYER>
<USERNAME> userName </USERNAME>
<FULL_NAME> name </FULL_NAME> // optional tag
<SCHOOL> playerSchool </SCHOOL> // optional tag
<EMAIL_ADDRESS> emailAddress </EMAIL_ADDRESS> // optional tag
</PLAYER>
<ASSESSMENT>
<GAME_INFO>
<DATE_PLAYED>
<DATE>month/day/year</DATE>
<TIME_PLAYED>hh:mm:ss</TIME_PLAYED>
</DATE_PLAYED>
<CATEGORY>category</CATEGORY>
<TIME>
<TOTAL_GAME_TIME> hh:mm:ss </TOTAL_GAME_TIME>
<AVERAGE_TIME_PER_LEVEL> hh:mm:ss </AVERAGE_TIME_PER_LEVEL> // optional tag
<AVERAGE_TIME_PER_QUESTION> hh:mm:ss </AVERAGE_TIME_PER_QUESTION> // optional tag
</TIME>
<GAME_LEVEL name="easy"> // if there are no levels, we can use the tag <GAME_LEVEL>
// which automatically sets the name="default"
<NO_OF_CORRECT_ITEMS> numCorrectItems </NO_OF_CORRECT_ITEMS>
<TOTAL_GAME_SCORE> gameScore </TOTAL_GAME_SCORE>
</GAME_LEVEL>
</GAME_INFO>
<GAME_DATA>
<GAME_LEVEL name="easy"> //default tag means "default"
<CORRECT_ITEMS>
<ITEM>
<QUESTION_ID> qId </QUESTION_ID>
<ANSWER> answer </ANSWER>
<TOTAL_TIME_ANSWERED> hh:mm:ss <TOTAL_TIME_ANSWERED> // optional tag
<NUMBER_OF_TRIES> numTries </NUMBER_OF_TRIES> // optional tag
</ITEM>
</CORRECT_ITEMS>
<INCORRECT_ITEMS>
<ITEM>
<QUESTION_ID> qId </QUESTION_ID>
<C_ANSWER> corAnswer </C_ANSWER>
<P_ANSWER> playerAnswer </P_ANSWER> // optional tag
<TOTAL_TIME_ANSWERED> hh:mm:ss <TOTAL_TIME_ANSWERED> // optional tag
<NUMBER_OF_TRIES> numTries </NUMBER_OF_TRIES> // optional tag
</ITEM>
</INCORRECT_ITEMS>
</GAME_LEVEL>
</GAME_DATA>
</ASSESSMENT>
</WSG_EDUGAME></code>
XML Changes
Before our party, Sir Rom and Ma’am Weng reminded us of our XML task.
So, right there and then, we tried accomplishing what can be accomplished before the party begins. Haha.
So here are the changes.
First we addressed Sir Rom’s comments.
1. Teacher tag:
<TEACHER> Name_Of_Teacher </TEACHER>
2. Modify ‘Date_Played’ tag to include the name and version of the game and the time it was played:
<DATE_PLAYED> <DATE> Month/Day/Year </DATE> <TIME_PLAYED> hh:mm:ss </TIME_PLAYED> <NAME> Game_Name </NAME> <VERSION> Game_Version </VERSION> </DATE_PLAYED>
This modification entails that we change the ‘Game’ tag.
Therefore, we just decided that it be changed to ‘Game_Info’
<GAME_INFO> </GAME_INFO>
3. Modify ‘Question’ tag to ‘Question_ID’:
<QUESTION_ID> Question_ID </QUESTION_ID>
4. Hash data to avoid tampering: We consulted Ma’am Weng about this.
Then to further modify the XML, we listed the unique features of each game.
Here is the actual notes we gathered:
KineSpell
: clues/hints <visual, etc.>
: category
: number of tries/lives
: **time: per word at buo
Augmented
: level
: tries/lives
: **time: kung gaano katagal brinowse ung marker, saka buong game
Pitch Paradise/EEG
: levels
: **time: per level
MMVHS: time: buong game
MMVJR: time: per tanong at buong game
Having those, here are the additions to the XML.
To support Kinespell’s Category feature, this tag is added inside ‘Game_Info’:
<GAME_CATEGORY> Category </GAME_CATEGORY>
Lastly, the ‘Time’ tag now looks like this:
<TIME> <AVERAGE_TIME_PER_LEVEL> hh:mm:ss </AVERAGE_TIME_PER_LEVEL> <AVERAGE_TIME_PER_QUESTION> hh:mm:ss </AVERAGE_TIME_PER_QUESTION> <WHOLE_GAME_TIME> hh:mm:ss </WHOLE_GAME_TIME> </TIME>
Therefore, the whole XML now looks like this:
<WSG_EDUGAME name = ""> <PLAYER> <NAME> Player_Name </NAME> <SCHOOL> Player_School </SCHOOL> <EMAIL_ADDRESS> Email_Address </EMAIL_ADDRESS> <TEACHER> Name_Of_Teacher </TEACHER> <ASSESSMENT> <GAME_INFO> <GAME_CATEGORY> Category </GAME_CATEGORY> <DATE_PLAYED> <DATE> Month/Day/Year </DATE> <TIME_PLAYED> hh:mm:ss </TIME_PLAYED> <NAME> Game_Name </NAME> <VERSION> Game_Version </VERSION> </DATE_PLAYED> <TIME> <AVERAGE_TIME_PER_LEVEL> hh:mm:ss </AVERAGE_TIME_PER_LEVEL> <AVERAGE_TIME_PER_QUESTION> hh:mm:ss </AVERAGE_TIME_PER_QUESTION> <WHOLE_GAME_TIME> hh:mm:ss </WHOLE_GAME_TIME> </TIME> <NO_OF_CORRECT_ITEMS> Number_Of_Correct_Items </NO_OF_CORRECT_ITEMS> <NO_OF_INCORRECT_ITEMS> Number_Of_Incorrect_Items </NO_OF_INCORRECT_ITEMS> <CORRECT_ITEMS> <ITEM> <QUESTION_ID> Question_ID </QUESTION_ID> <ANSWER> Answer </ANSWER> </ITEM> </CORRECT_ITEMS> <INCORRECT_ITEMS> <ITEM> <QUESTION_ID> Question_ID </QUESTION_ID> <ANSWER> Answer </ANSWER> </ITEM> </INCORRECT_ITEMS> </GAME_INFO> </ASSESSMENT> </PLAYER> </WSG_EDUGAME>
XML-ing
We attempted to start making the XML for the assessment of our game. We intend to show it to other game-based groups so that we could make any necessary changes.
<WSG_EDUGAME name = ""> <PLAYER> <NAME> Player_Name </NAME> <SCHOOL> Player_School </SCHOOL> <EMAIL_ADDRESS> Email_Address </EMAIL_ADDRESS> <ASSESSMENT> <GAME> <NAME> Game_Name </NAME> <DATE_PLAYED> Month Day, Year </DATE_PLAYED> <TIME_FINISHED> Minutes:Second </TIME_FINISHED> <NO_OF_CORRECT_ITEMS> Number_Of_Correct_Items </NO_OF_CORRECT_ITEMS> <NO_OF_INCORRECT_ITEMS> Number_Of_Incorrect_Items </NO_OF_INCORRECT_ITEMS> <CORRECT_ITEMS> <ITEM> <QUESTION> Question </QUESTION> <ANSWER> Answer </ANSWER> </ITEM> </CORRECT_ITEMS> <INCORRECT_ITEMS> <ITEM> <QUESTION> Question </QUESTION> <ANSWER> Answer </ANSWER> </ITEM> </INCORRECT_ITEMS> </GAME> </ASSESSMENT> </PLAYER> </WSG_EDUGAME>
Google Spreadsheet to XML Part 2
This blog introduced me to Google Spreadsheets GADGETS and with this particular gadget made by Pamela Fox, I can have the XML equivalent of the Spreadsheet file.

Now. What next? Parsing!
Google Spreadsheet to XML
I’ve been looking for tools and tutorials about how can we convert our Google Spreadsheets file to XML so that we can extract the fields for Rubric Generation. Below are the most helpful sites I found:
Tweaking your game with Google Spreadsheets
“It turns out there is an XML feed from public Google spreadsheets.”
Google Spreadsheet to XML Serializer
Tutorial for .NET developers
How to Convert a Google Spreadsheet into JSON, XML, and MySQL
So there are GADGETS in Google Spreadsheets?? Must maximize this tool! *Exploring Spreadsheet gadgets now*