行中的 URI (5,6,7) 实际上必须指向任何东西吗?
当我将它们指向 duff url 时,它似乎仍然可以验证我的 xml,那有什么意义呢?
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="UploadXSD"
targetNamespace="UploadXSD"
elementFormDefault="qualified"
xmlns="http://tempuri.org/UploadXSD.xsd"
xmlns:mstns="http://tempuri.org/UploadXSD.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Video">
<xs:complexType>
<xs:sequence>
<xs:element name="Title" minOccurs="1" type="xs:string"></xs:element>
<xs:element name="Description" minOccurs="1" type="xs:string"></xs:element>
<xs:element name="Contributor" minOccurs="1" type="xs:string"></xs:element>
<xs:element name="Subject" minOccurs="1" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
最佳答案
使用 URN 作为命名空间的要点在于它们是唯一的。例如,您也可以使用 GUID,但这样它们的可读性更高。
当然,使用 URN 可以将它们指向实际资源,例如 xsd 文件,但这是一个额外的好处,不是必需的。
“tempuri”只是默认名称(“temp”+“uri”),您应该将其替换为真实的 URN 以避免命名空间冲突。
XMLSchema 命名空间实际上指向一个包含 XML-Schema 信息的网站。
如果您经常使用 XML 文档和模式,请至少阅读 primer , 了解 XML-Schema 的可能性。更多关于 XML 命名空间的信息是 here .
关于xml - 命名空间之后的 uri 实际用于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4305370/