0

为什么在 XSD 命名空间中声明 Urls(http://ebay.in/data/typee) 而不是任意字符串(ebay.in.data.types)?它是否需要有效的 url 作为命名空间?

4

1 回答 1

0

命名空间规范对此有点矛盾。它说它必须是一个 URI(或命名空间 1.1 中的 IRI),但它还说解析器不应该拒绝不是 URI 的文档。奇怪的是,尽管允许使用不是 URI 的字符串,但它非常热衷于弃用相对 URI(例如 'blablabla')。

XML 家族中的其他规范对要求命名空间为 URI(例如 XML 规范化)更为严格,并且还有一些产品(尤其是 XOM)强制执行此限制。所以最好顺势而为,为你的命名空间使用合法的 URI。

顺便说一句,规范说的是 URI 而不是 URL。还有其他类型的 URI,例如 URN。微软尤其热衷于使用 URN 作为命名空间。一个优点是它们看起来不像是对网页的引用,所以人们不会想象解析器会从网络上获取任何东西。

于 2012-07-26T11:31:00.977 回答