1
    **I am using the following code,**


    var db=session.getCurrentDatabase()
    var nc:NotesNoteCollection=db.createNoteCollection(true);
    nc.selectAllDesignElements(true);
    nc.buildCollection()
    var filename = "d:\\dxl\\xpDXL.dxl";
    var stream:NotesStream=session.createStream()
    if (stream.open(filename)) {
            stream.truncate(); // Any existing file is erased
            var exporter:NotesDxlExporter = session.createDxlExporter();
            stream.writeText(exporter.exportDxl(db))
    }

** 它不导出设计元素。但在 DXL 中,它有文档集合。**

4

3 回答 3

1

您正在创建一个名为 nc 的 NotesNoteCollection,但最终导出了 db。所以stream.writeText(exporter.exportDxl(db))改为:

stream.writeText(exporter.exportDxl(nc))
于 2012-04-17T12:10:51.430 回答
0

也许这是一个安全问题:您至少需要设计人员访问您的数据库才能通过 XPage 在 DXL 导出中获取设计元素。

甚至公共访问元素也不会导出。

希望这有助于
斯文

于 2012-04-17T12:31:58.163 回答
0

DXL 中的 XPages 设计元素使用起来令人头疼。您最好使用 OpenNTF 的导入/导出插件。它使用 Eclipse VFS 来处理本地格式的数据。所以图像就是图像,表单是 DXL,XPage 是它们的来源。该插件包含源代码,因此您可以看到它是如何完成的。另一种选择是将 NSF 链接到 onDisk 项目(版本控制所需的步骤),然后查看目录内部。如果您想在设计器之外处理 XPages 设计元素,则会出现一些问题:如果您将源代码注入到其他地方,那么您将缺少编译后的 Java。如果您正在查看文档或变体管理 Designer 和 VFS(虚拟文件系统,Java 接口 IResource)是我们最好的选择

于 2012-04-17T13:08:05.647 回答