W3C XML Schema和实例文档
我们目前已经涵盖了几乎所有的W3C XML Schema的特性,但我们仍需要看一看一些在你的实际工作中可以使用的扩展。为了区别这些另外的特性,一个单独的名称空间 http://www.w3.org/2001/XMLSchema-instance,通常使用前缀xsi。
xsi:noNamespaceSchemaLocation 和xsi:schemaLocation属性允许你将文档绑定到它的W3C XML Schema上面。连接并不是强制的,并且在合法性校验时亦会给出其他的建议,但是这确实有助于W3C XML Schema工具定位一个schema所在位置。
依赖于使用名称空间,连接可能是:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
或者,类似下面这样(注意具有URL的名称空间的语法以及schema中的URL,在相同的属性中使用空格分隔):
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
其他关于xsi 属性的用法是提供如何将一个元素对应到一个schema的信息。这些属性为xsi:type,它允许你定义元素的简单或复杂类型;以及xsi:nil,允许将nil(null)值赋给一个元素(前提是必须在schema中使用nillable=true属性)。在你的W3C XML Schema中你不需要声明这些属性就可以使用它们。
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)