命名空间后实际使用的uri是什么?

Exi*_*tos 3 xml xsd xml-validation

第(5,6,7)行中的URI实际上是否必须指向任何东西?

当我将它们指向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>
Run Code Online (Sandbox Code Playgroud)

TTo*_*oni 5

将URN用作命名空间的关键是它们是唯一的.例如,您也可以使用GUID,但这样它们更具可读性.

当然,使用URN 可以将它们指向实际资源,例如xsd文件,但这是一个额外的奖励而不是必需的.

"tempuri"事物只是默认名称("temp"+"uri"),您应该用真实的URN替换它以避免命名空间碰撞.

XMLSchema名称空间实际上指向包含有关XML-Schema的信息的网站.

如果您经常使用XML-Documents和Schemas,请至少阅读入门知识,以了解XML-Schema的可能性.有关XML Namespaces的更多信息,请点击此处.