Crate position_preserving_moodle_question_xml_edit

Crate position_preserving_moodle_question_xml_edit 

Source
Expand description

A diff-friendly XML-editor

For when you need to query Moodle question.xml files and do small fixes.

By diff friendly we mean here that we minimize the changes to the general structure of the file, leave comments and whitespace as it was outside the modified bits, thus making version control commit diffs easier to read and the changes simpler to spot.

This tool does not do any entity-decoding or CDATA unwrapping on its own when dealing with attributes or CDATA wrapped things you will need to either instruct the tool to do things or do everythign yoursef. This tools philosophy is to try to avoid doing anythign withotu being asked so that no one needs to work around “helpful” features.

Modules§

stack
STACK specific extensions for the library. These structs allow dealing with related fields in a saner way. Note that this tooling is for the question-xml format of a relatively recent STACK in this case ~4.8.0

Structs§

Change
A change to be executed.
ContentRef
References to values in content.
QParser
The parser object, holding the current in-memory version of the document and keeping track of changes that are to be made to it.
Question
Results from question identification.

Enums§

ContentType
Types of references, if it is an atribute value we probaby need to entity convert things when writing. Some types provide more, details and related objects.