XSD文件,在哪里获取xmlns参数?

    

我正在使用XSD生成.cs文件的项目。 我的问题是关于字符串“ http://schemas.businessNameHere.com/SoftwareNameHere ”如果我改变它,它不起作用。 但http://不是一个有效的……背后的逻辑是什么,我在哪里可以获得有关放置什么或如何更改它的信息?

XSD名称空间不必是有效的URI。 拥有一个URL的命名空间字符串并不意味着从URL中获取任何内容,或者根本不需要与Web进行任何操作 – 它只是一个像任何其他字符串一样的字符串。 因此,尽管URL实际上并不指向任何内容,但它可能是无效的,但它仍然是一个有效的字符串作为名称空间声明。

你可以在这里阅读这种格式的命名空间标识符背后的一些推理 。

使用URL作为命名空间标识符有几个原因,但主要是为了方便 – 它是一个唯一的标识符,通常为用户附加了一些含义,就像Java命名空间通常以“com”开头的方式一样,“org” “或”网“。

有关为什么名称空间采用URI(技术, IRI )格式的细节,您可以阅读W3C的XML名称空间标准 。 指定XML命名空间采用RFC3986中定义的IRI(国际资源标识符)格式。

有关如何正确使用命名空间的更多信息,有很多很棒的演练, 比如这个 。 更改命名空间时什么不起作用?

命名空间除了必须是唯一的之外没有语义含义。 人们通常使用URI表单,因为它可能指向文档,但这不是必需的。

在这种情况下,它是默认命名空间,您用于生成.cs文件的应用程序可能是硬编码的,以便使用它。

在一个编写良好的应用程序中,如果只是更改命名空间字符串,则不会中断任

 xmlns="http://schemas.businessNameHere.com/SoftwareNameHere" 

不是一个有效的URL,其中某些文档必须存在 – 它只是一个表示XML命名空间的字符串(如C#应用程序中名为System.Data或其他任何名称的命名空间)。

您可以轻松更改该字符串 – 这里没有引用任何内容 。 (但这是一种常见的误解)

人们经常使用URL语法,因为注册到您/您公司的域保证在全球范围内是唯一的 – >因此,您从中获得的XML命名空间在全球范围内也是独一无二的。