RPI/Mathactivity/XML

From OLPC
Jump to navigation Jump to search

XML Howto

http://www.boddie.org.uk/python/XML_intro.html
http://docs.python.org/lib/module-xml.dom.minidom.html
http://wiki.python.org/moin/MiniDom

Math Format

  • Relatively Extensible
  • Prototype Parser and Math Engine in PHP
  • Polynomials only at this time
  • Math engine is not yet complete, will have to discuss some ideas in meeting Tuesday
    • Ideas for storing expressions? i.e. log(x), (x^3), etc?
  • Notes to self:
    • Operations?
    • Auto-generate constants?
  • 'Barking up the wrong tree?' - MathML - http://www.w3.org/Math/
  • Encapsulate MathML inside our own XML wrapper
    • Unique identifiers per problem
    • Level ID for each problem
    • Answer to problem
    • Hints
    • Chances


<math_problems>
  <problem id="01">
      <problem_level>0</problem_level>
      <num_chances>2</num_chances>
      <mathml>
          <? actual generated mathml here ?>
      </mathml>
      <answer>3</answer>
  </problem>
</math_problems>

Goal Format

Persistence of State Format

<state>
	<players>
	</players>
		<goal>
			<resource>
                               <required>
                               </required>
				<obtained>
				</obtained>
			</resource>
			<purchased_subgoal>
			</purchased_subgoal>
			<problems>
				<used>
				</used>
			</problems>
		</goal>
</state>

Resource and Market Format

<economy>
<resources>
  <resource>
    <name>Mud</name>
    <uid>1</uid>
    <imgpath>./mud.gif</imgpath>
    <probid>100</probid>
  </resource>
  <resource>
    <name>Wood</name>
    <uid>2</uid>
    <imgpath>./wood.gif</imgpath>
    <probid>101</probid>
  </resource>
  <resource>
    <name>Stone</name>
    <uid>3</uid>
    <imgpath>./stone.gif</imgpath>
    <probid>102</probid>
  </resource>
  <resource>
    <name>Metal</name>
    <uid>4</uid>
    <imgpath>./metal.gif</imgpath>
    <probid>103</probid>
  </resource>
<resources>
<market type="symmetric (or asymmetric)">
<exchange>
  <item uid="1" />
  <prices>
    <price uid="2">1/3</price>
    <price uid="3">1/5</price>
    <price uid="4">1/10</price>
  </prices>
</exchange>
<exchange>
  <item uid="2" />
  <prices>
    <price uid="1">2</price>
    <price uid="3">1/2</price>
    <price uid="4">1/4</price>
  </prices>
</exchange>
...
</market>
</economy>

Sample Settings Parser

Sample Parser