code: public void doEdit(final String filename, final CmsUUID structureId) {
  
          I_CmsEditableData editData = new I_CmsEditableData() {
  
              public String getContextId() {
  
                  return "";
              }
  
              public String getEditId() {
  
                  return null;
              }
  
              public String getElementId() {
  
                  // TODO Auto-generated method stub
                  return null;
              }
  
              public String getElementLanguage() {
  
                  return null;
              }
  
              public String getElementName() {
  
                  return null;
              }
  
              public String getNewLink() {
  
                  return null;
              }
  
              public String getNewTitle() {
  
                  return null;
              }
  
              public String getNoEditReason() {
  
                  return null;
              }
  
              public String getPostCreateHandler() {
  
                  return null;
              }
  
              public String getSitePath() {
  
                  return filename;
              }
  
              public CmsUUID getStructureId() {
  
                  return structureId;
              }
  
              public boolean hasEditHandler() {
  
                  return false;
              }
  
              public boolean hasResource() {
  
                  return true;
              }
  
              public boolean isUnreleasedOrExpired() {
  
                  return false;
              }
  
              public void setSitePath(String sitePath) {
  
                  // nothing to do
              }
          };
          if (m_useSelf) {
              FormElement form = CmsContentEditorDialog.generateForm(editData, false, "_self", null);
              RootPanel.getBodyElement().appendChild(form);
              form.submit();
          } else {
  
              I_CmsContentEditorHandler handler = new I_CmsContentEditorHandler() {
  
                  @SuppressWarnings("synthetic-access")
                  public void onClose(String sitePath, CmsUUID id, boolean isNew, boolean hasChangedSettings) {
  
                      if (!m_reload) {
                          return;
                      }
  
                      if (m_immediateReload) {
                          reloadTop();
                      }
  
                      // defer the window.location.reload until after the editor window has closed
                      // so we don't get another confirmation dialog
                      Timer timer = new Timer() {
  
                          @Override
                          public void run() {
  
                              reloadTop();
  
                          }
  
                      };
                      timer.schedule(10);
                  }
              };
              CmsContentEditorDialog.get().openEditDialog(editData, false, null, new DialogOptions(), handler);
          }
      }
docs: Actually starts the XML content editor for a given file name.<p>
  
  @param filename the file name
  @param structureId the file structure id