| appendDomToWorkspace(xml, workspace) | Decode an XML DOM and create blocks on the workspace. Position the new blocks immediately below prior blocks, aligned by their starting edge. |
| blockToDom(block, opt_noId) | Encode a block subtree as XML. |
| blockToDomWithXY(block, opt_noId) | Encode a block subtree as XML with XY coordinates. |
| clearWorkspaceAndLoadFromXml(xml, workspace) | Clear the given workspace then decode an XML DOM and create blocks on the workspace. |
| deleteNext(xmlBlock) | Remove any 'next' block (statements in a stack). |
| domToBlock(xmlBlock, workspace) | Decode an XML block tag and create a block (and possibly sub blocks) on the workspace. |
| domToPrettyText(dom) | Converts a DOM structure into properly indented text. |
| domToText(dom) | 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. |
| domToVariables(xmlVariables, workspace) | Decode an XML list of variables and add the variables to the workspace. |
| domToWorkspace(xml, workspace) | Decode an XML DOM and create blocks on the workspace. |
| loadWorkspaceComment(elem, workspace) | Deserializes the given comment state into the given workspace. |
| saveWorkspaceComment(comment, skipId) | Serializes the given workspace comment to XML. |
| variablesToDom(variableList) | Encode a list of variables as XML. |
| workspaceToDom(workspace, skipId) | Encode a block tree as XML. |