Python/XML & XQuery Integration
Hooks: mud.py: mud's "main method."
Game data: In-memory objects are serialized into game collection. Model changes can be synchronized from static.
Static collection remains as is. Have compiler generate one XML document from Python files. Remove duplicate ID checks. Add canonical ID property. Referential properties now use canonical IDs.
All RingDocuments have a codebehind attribute that points to a python file. This codebehind has stuff like event handlers.
For addition of server startup logic:
- Add code to MUDFile and DeployableMUDFile to have a "world" directory that contains zone definitions.
- Update compiler to copy these files.
- Update deployer to deploy these files.
- Update WorldBuilder to work off the XQuery files instead of pulling from static.
The following is done:
- Have compiler generate one XML document from Python files.
- Remove duplicate ID checks.
- Add canonical ID property.
- Codebehind
The following remains:
- Restoring of world state.
- Synchronizing model changes
The codebehind idea will be largely superseded by live events, but may be able to hang around for some sort of alternative purpose.