0

标题为“注册基于用户控件的表单 UI 控件”的文档http://docs.composite.net/Console/CreatingFormControls说“您必须首先注册一个对您的组织私有的 XML 命名空间”,但没有解释如何。

所以我的问题是如何创建自己的命名空间?我是要创建一个 xml 架构还是可以 Composite-C1 导出基于全局数据类型的命名空间?任何帮助都会很棒。从未创建过 xml 模式(假设这是必需的)。

我已经创建了我的 asp 网络控件并将其添加到我的 c1 控制台,但是当我尝试添加新的新数据项时,它会产生错误:
ConfigurationErrorsException:找不到名称的配置

4

2 回答 2

1

您可以通过分配一个 URI(在您控制的 URI 空间的一部分中)作为命名空间名称来创建 XML 命名空间,然后以适当的方式使用该命名空间名称,通常作为元素、属性的限定名称的一部分,以及您定义的其他对象。(如果这听起来含糊不清,那是因为它是。)

命名空间的功能(我在这里专门说的是 XML 命名空间,但我所说的大部分内容适用于人们称之为命名空间的其他东西)是为了防止不同人分配的名称之间的冲突。方法是说“您在命名空间中创建名称,我将在我的命名空间中创建名称,并且由于它们位于不同的命名空间中,因此我们的名称永远不会发生冲突。” 当然,只有当您遵循仅在您控制的 URI 空间部分中创建名称空间的规则(几乎从未明确说明,尽管它绝对是整个想法的核心)时,才能保证名称空间不同。您可以通过拥有一个域名,或通过拥有您的雇主拥有的域中 URI 路径的树结构的一部分,或通过其他方式来控制部分 URI 空间。

因此,创建名称空间的关键操作是识别名称并将其专用于用作名称空间名称的功能的抽象操作。如果您拥有自己的域名,这只是您必须做出的决定;如果您共享一个域,您可能需要在某处写下一些内容,这样您的同事就不会意外地将相同的 URI 声明为命名空间名称。(当然,将命名空间的一些文档放在有问题的 URI 中是一种很好的做法,但是没有老大哥来检查 Web 中的每个人都这样做。)

一旦您选择了命名空间名称并在您的组织中完成了防止组织内部冲突的任何操作,您引用的文档会告诉您必须在哪里写什么来告诉特定系统的注册表有关该名称的信息。主要是编辑一些配置文件并告诉他们你的小部件在哪里。我没有看到对 XSD 模式文档的任何要求(但我略读了很多)。

于 2013-02-06T19:31:10.610 回答
0

OK设法解决了这个问题。

我认为我需要一些 xml 命名空间的地方不正确。我所需要的只是一个空的命名空间引用。该错误与控件名称有关,与命名空间无关。

但是,我的问题确实与一般的命名空间 URI 有关,我相信 @CM Sperberg-McQuee 回答得很好。

于 2013-02-07T09:28:14.560 回答