function mxVsdxModel(doc, docData, mediaData) {
                        /**
                         * A map of Documents created by reading the XML files, indexed by the path to those files
                         */
                        this.xmlDocs = null;
                        /**
                         * Collection of media files encoded in Base64, indexed by the path to those files
                         */
                        this.media = null;
                        /**
                         * Map of page objects indexed by their ID.
                         */
                        this.pages = null;
                        /**
                         * Map of master objects indexed by their ID. Before you think you're being clever by making
                         * the index an Integer as for pages, don't, there are reasons.
                         */
                        this.masters = ({});
                        /**
                         * Map stylesheets indexed by their ID
                         */
                        this.stylesheets = ({});
                        /**
                         * Map themes indexed by their index
                         */
                        this.themes = ({});
                        this.rootElement = null;
                        this.pm = null;
                        this.xmlDocs = docData;
                        this.media = mediaData;
                        var childNode = doc.firstChild;
                        while ((childNode != null)) {
                            if ((childNode != null && (childNode.nodeType == 1)) && (function (o1, o2) { if (o1 && o1.equals) {
                                return o1.equals(o2);
                            }
                            else {
                                return o1 === o2;
                            } })(childNode.tagName.toLowerCase(), com.mxgraph.io.mxVsdxCodec.vsdxPlaceholder + "document")) {
                                this.rootElement = childNode;
                                break;
                            }
                            childNode = childNode.nextSibling;
                        }
                        ;
                        this.pm = new com.mxgraph.io.vsdx.mxPropertiesManager();
                        this.pm.initialise(this.rootElement, this);
                        this.initStylesheets();
                        this.initThemes();
                        this.initMasters();
                        this.initPages();
                    }
A model representing vsdx files. As well as being a programmatic model, the XML DOMs of the unzipped
files are held to enable round-tripping
@param {*} doc
@param {*} docData
@param {*} mediaData
@class