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

Pat*_*ins 2 c# asp.net xsd

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="abc" targetNamespace="http://schemas.businessNameHere.com/SoftwareNameHere" 
           elementFormDefault="qualified" 
           xmlns="http://schemas.businessNameHere.com/SoftwareNameHere" 
           xmlns:mstns="http://schemas.businessNameHere.com/SoftwareNameHere" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="..." type="..." />
<xs:complexType name="...">
Run Code Online (Sandbox Code Playgroud)

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

wom*_*omp 11

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

您可以在此处阅读这种格式的命名空间标识符背后的一些推理.

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

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

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

  • 我很清楚这一点.这就是为什么命名空间标识符不必是有效的URI是错误的.他们这样做,他们不一定是可解析的URL. (3认同)