| workspaceToDom | Encode a block tree as XML. |
| saveWorkspaceComment | Serializes the given workspace comment to XML. |
| variablesToDom | Encode a list of variables as XML. |
| blockToDomWithXY | Encode a block subtree as XML with XY coordinates. |
| blockToDom | Encode a block subtree as XML. |
| domToText | Converts a DOM structure into plain text. Currently the text format is fairly ugly: all one line with no whitespace, unless the DOM itself has whitespace built-in. |
| domToPrettyText | Converts a DOM structure into properly indented text. |
| clearWorkspaceAndLoadFromXml | Clear the given workspace then decode an XML DOM and create blocks on the workspace. |
| domToWorkspace | Decode an XML DOM and create blocks on the workspace. |
| loadWorkspaceComment | Deserializes the given comment state into the given workspace. |
| appendDomToWorkspace | Decode an XML DOM and create blocks on the workspace. Position the new blocks immediately below prior blocks, aligned by their starting edge. |
| domToBlock | Decode an XML block tag and create a block (and possibly sub blocks) on the workspace. |
| domToVariables | Decode an XML list of variables and add the variables to the workspace. |
| deleteNext | Remove any 'next' block (statements in a stack). |